我在一个laravel 5.1应用程序中创建了一个新的Job,在Homestead VM中运行.我已将其设置为排队并在handle方法中包含代码.
handle()方法之前预期传递一个param,但不再需要,我从handle方法中删除了param.
但是,当队列运行作业时,我收到一条错误消息:
[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
Run Code Online (Sandbox Code Playgroud)
该文件的第31行是:
public function handle()
Run Code Online (Sandbox Code Playgroud)
它不再期望任何参数,除非有一个没有记录的默认参数.
现在我做的任何更改,包括注释,当我运行队列时,看不到作业文件中的所有内容.我仍然会得到同样的错误.
香港专业教育学院试图重新启动nginx,php5-fpm,supervisor,beanstalkd,和正在运行:artisan cache:clear,artisan clear-compiled,artisan optimize,composer dumpautoload.
什么都行不通.
我得到laravel看到任何更新到Job文件的唯一方法是重启VM.vagrant halt那么vagrant up.
该作业在控制台命令中触发,如下所示:
$this->dispatch(new SpecialJob($site->id));
Run Code Online (Sandbox Code Playgroud)
以下是该SpecialJob.php文件的完整代码:
我尝试创建另一个新Job并进行测试,得到相同的结果.
所有其他非作业文件立即更新,没有问题.它只是作业文件.就像旧的副本被缓存在我无法找到的地方.