Laravel无法修改排队的作业代码

tim*_*son 6 php jobs supervisord laravel composer-php

当我发送由于例外而失败的作业时,'ErrorException' with message 'Undefined variable: sender'我修复了代码并重新启动了事件,之前的代码再次运行,我得到了同样的错误.

我不知道为什么Laravel一遍又一遍地重新运行我的旧代码.我显然希望能够解决破坏我的工作执行的错误.

我已经尝试了两者composer dump-autoload并且php artisan queue:flush那些没有效果.有帮助吗?

sba*_*sba 8

我的Laravel 5.1 config/compile.php文件是空的,但这对我有帮助:

sudo service beanstalkd restart

php artisan队列:重启

Laravel经常缺乏良好和准确的文档.


Mar*_*łek 5

您需要运行php artisan clear-compiled以清除已编译的文件。

如果您查看,config/compile.php您会看到 Laravel 默认缓存了一些额外的提供程序(或其他类)。

例如,如果您进行了任何更改EventServiceProvider并且它更早被缓存,Laravel 将不会看到这些更改,以防php artisan optimize命令较早启动(并查看https://github.com/laravel/laravel/blob/master/composer.json您会看到它在运行后启动composer installcomposer update)。

这个特性与 composer 本身没有任何共同之处,但与 Laravel 没有共同之处,这就是为什么运行composer dump-autoload无济于事。

  • @timpeterson 这是真的,但你不想总是运行 `composer update`,因为它会更新所有包,并且在生产中你不想要它。 (3认同)