Laravel 4:为什么我的Artisan命令连续调用了5次?

3
今天我在 Artisan 命令的生命周期中遇到了一些奇怪的事情。
  1. 我添加了一个名为 cronjobs:MyCommand 的 Artisan 命令。
  2. 创建了必要的文件和类。
  3. MyCommand 继承自 BaseCommand
BaseCommand 是我为基准测试命令行操作而创建的。它包含构造函数和析构函数。构造函数记录操作开始时间,析构函数记录当前时间减去开始时间后将其写入日志表。
但让我惊讶的是,当我通过 artisan 发布 cronjobs:MyCommand 时,我的 BaseCommand 上的 __destruct() 函数被总共调用了 5 次。
这是正常行为吗?如果是,我应该如何处理日志记录呢?
2个回答

1

进一步测试Symfony 2的命令类显示,这是Symfony 2本身的问题,而不是laravel 4的问题。

目前在artisan命令类(或其父类)中以任何有用的方式使用构造函数/析构函数似乎是不可能的。

非常感谢任何意见!


0

问题似乎仍未解决... 我还创建了一个带有 __destruct 方法的 basecommand,它被执行了多次。

我在我的 basecommand 中创建了一个 shutdown 方法,并在 mycommand 结束时调用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接