Laravel 队列作业不会更新到最新代码

Nit*_*tra 4 laravel laravel-5 laravel-queue laravel-5.4 laravel-artisan

我正在使用 laravel 队列作业发送带有 excel 附件的电子邮件。很多时候,每当我更新任何代码更改时,它都不会考虑更新的代码,而是运行旧代码。我怎样才能防止这种情况?

Mar*_*łek 16

每次部署 Laravel 应用程序或进行任何代码更改时,都应该运行:

php artisan queue:restart
Run Code Online (Sandbox Code Playgroud)

当然,请确保在 Supervisor 中您已设置autostart为 true。

您可以在https://laravel.com/docs/5.4/queues#running-the-queue-worker 上阅读:

由于队列工作者是长期存在的进程,因此它们不会在不重新启动的情况下获取对代码的更改。因此,使用队列工作器部署应用程序的最简单方法是在部署过程中重新启动工作器。您可以通过发出 queue:restart 优雅地重新启动所有工人

  • 如果您使用 Laravel Envyoer 和 Forge,则这不起作用。尝试了很多方法,如果不完全杀死超级处理器,就不可能重新启动。希望有另一种方式。 (2认同)