当我发送因'ErrorException' with message 'Undefined variable: sender'
之类的异常而失败的作业并修复代码并重新启动事件时,之前的代码再次运行,我得到同样的错误。
我不知道为什么Laravel一遍又一遍地重新运行我的旧代码。我显然希望能够解决破坏我的工作执行的错误。
我已经尝试了composer dump-autoload
和php artisan queue:flush
,但这些都没有效果。有什么帮助吗?
答案 0 :(得分:8)
我的Laravel 5.1 config / compile.php文件是空的,但这对我有帮助:
sudo service beanstalkd restart
和
php artisan queue:restart
Laravel经常缺乏良好而准确的文档。
答案 1 :(得分:4)
您需要运行 try {
yield r.dbCreate(config.database.db).run();
yield r.tableCreate('user').run();
}
catch (err) {
if (err.message.indexOf("already exists") == -1)
console.log(err.message);
}
app.listen(port);
来清除已编译的文件。
如果查看php artisan clear-compiled
,Laravel默认会缓存一些额外的提供程序(或其他类)。
如果您在config/compile.php
中进行了任何更改并且之前已缓存,则Laravel在EventServiceProvider
命令先前启动的情况下不会看到这些更改(并查看{{3}你会看到它在运行php artisan optimize
或composer install
)后启动。
此功能与作曲家本身没有任何共同之处,但与Laravel一样,为什么运行composer update
无法提供帮助。
答案 2 :(得分:3)
就我而言,主管就是问题。
这是唯一一个对我有效的过程:
注意:运行服务主管重新启动'没有效果。
答案 3 :(得分:0)
我正在使用Lumen并遇到相同的问题。我尝试了php artisan queue:restart
,但没有执行任何操作。然后,我找到了这个线程,并根据获胜的答案尝试了php artisan clear-compiled
,但收到了错误消息:
命令“ clear-compiled”未定义。
然后,我看到Artisan拥有选项php artisan cache:clear
,可以解决问题!当我在后跟php artisan queue:work
的情况下触发该命令时,将使用新的工作代码。