laravel 5.1 在未重新启动 VM 的情况下看不到对作业文件的更改
我在 laravel 5.1 应用中创建了一个新作业,在 Homestead VM 中运行。我已将其设置为排队,并在句柄方法中包含代码。
handle() 方法以前期望传递一个参数,但不再需要,我已经从 handle 方法中删除了参数。
但是,当队列运行作业时,我收到一个错误,说:
[2015-06-17 14:08:46] local.ERROR: exception 'ErrorException' with message 'Missing argument 1 for Simile\Jobs\SpecialJob::handle()' in /home/vagrant/Code/BitBucket/simile-app/app/Jobs/SpecialJob.php:31
该文件的第 31 行是:
public function handle()
它不再期望任何参数,除非有一个没有记录的默认参数。
现在,当我运行队列时,我所做的任何更改(包括注释掉作业文件中的所有内容)都看不到。我仍然会得到同样的错误。
我尝试重新启动 、 和运行: 、 、 、 。nginx
php5-fpm
supervisor
beanstalkd
artisan cache:clear
artisan clear-compiled
artisan optimize
composer dumpautoload
没有任何效果。
我获得 laravel 查看作业文件的任何更新的唯一方法是重新启动 VM。然后。vagrant halt
vagrant up
作业在控制台命令中触发,如下所示:
$this->dispatch(new SpecialJob($site->id));
以下是该文件的完整代码:SpecialJob.php
我尝试创建另一个新作业并进行测试,我得到相同的结果。
所有其他非作业文件都会立即更新,没有问题。它只是作业文件。就像一个旧副本被缓存在我找不到的地方。