Laravel 无法修改排队的作业代码
Laravel unable to modify queued job code
当我发送的作业由于 'ErrorException' with message 'Undefined variable: sender'
等异常而失败,并且我修复了代码并重新触发事件时,之前的代码再次运行,我得到了同样的错误。
我不知道为什么 Laravel 一遍又一遍地重新运行我的旧代码。显然,我希望能够修复破坏我工作执行的错误。
composer dump-autoload
和 php artisan queue:flush
我都试过了,但都没有效果。有帮助吗?
您需要运行php artisan clear-compiled
清除编译后的文件。
如果您查看 config/compile.php
,您会看到一些额外的提供程序(或其他 类)默认由 Laravel 缓存。
如果您在 EventServiceProvider
中进行了任何更改并且它较早被缓存,Laravel 将不会看到这些更改,以防 php artisan optimize
命令较早启动(并查看https://github.com/laravel/laravel/blob/master/composer.json 你会看到它是在 运行ning composer install
或 composer update
) 之后启动的。
此功能与 Composer 本身没有任何共同之处,但与 Laravel 这就是为什么 运行ning composer dump-autoload
无济于事的原因。
我的 Laravel 5.1 config/compile.php 文件是空的,但这对我有帮助:
sudo 服务 beanstalkd 重启
和
php artisan queue:restart
Laravel 通常缺乏良好和准确的文档。
就我而言,主管是问题所在。
这是唯一对我来说一直有效的过程:
- 运行 'service supervisor stop'
- 运行 'service supervisor start'
- 退出浏览器,重新启动,清除缓存并重试
注意:运行宁'service supervisor restart'没有效果。
我将 Lumen 和 运行 用于同一问题。我试过 php artisan queue:restart
,但什么也没做。然后我找到了这个线程并尝试 php artisan clear-compiled
,根据获胜的答案,但得到了错误:
未定义命令 "clear-compiled"。
然后我看到 Artisan 有选项 php artisan cache:clear
,这就成功了!当我在 php artisan queue:work
后触发该命令时,将使用我的新工作代码。
当我发送的作业由于 'ErrorException' with message 'Undefined variable: sender'
等异常而失败,并且我修复了代码并重新触发事件时,之前的代码再次运行,我得到了同样的错误。
我不知道为什么 Laravel 一遍又一遍地重新运行我的旧代码。显然,我希望能够修复破坏我工作执行的错误。
composer dump-autoload
和 php artisan queue:flush
我都试过了,但都没有效果。有帮助吗?
您需要运行php artisan clear-compiled
清除编译后的文件。
如果您查看 config/compile.php
,您会看到一些额外的提供程序(或其他 类)默认由 Laravel 缓存。
如果您在 EventServiceProvider
中进行了任何更改并且它较早被缓存,Laravel 将不会看到这些更改,以防 php artisan optimize
命令较早启动(并查看https://github.com/laravel/laravel/blob/master/composer.json 你会看到它是在 运行ning composer install
或 composer update
) 之后启动的。
此功能与 Composer 本身没有任何共同之处,但与 Laravel 这就是为什么 运行ning composer dump-autoload
无济于事的原因。
我的 Laravel 5.1 config/compile.php 文件是空的,但这对我有帮助:
sudo 服务 beanstalkd 重启
和
php artisan queue:restart
Laravel 通常缺乏良好和准确的文档。
就我而言,主管是问题所在。
这是唯一对我来说一直有效的过程:
- 运行 'service supervisor stop'
- 运行 'service supervisor start'
- 退出浏览器,重新启动,清除缓存并重试
注意:运行宁'service supervisor restart'没有效果。
我将 Lumen 和 运行 用于同一问题。我试过 php artisan queue:restart
,但什么也没做。然后我找到了这个线程并尝试 php artisan clear-compiled
,根据获胜的答案,但得到了错误:
未定义命令 "clear-compiled"。
然后我看到 Artisan 有选项 php artisan cache:clear
,这就成功了!当我在 php artisan queue:work
后触发该命令时,将使用我的新工作代码。