Php laravel 5.5不更新内容的电子邮件通知
我还重新启动了队列Php laravel 5.5不更新内容的电子邮件通知,php,laravel,queue,supervisord,email-notifications,Php,Laravel,Queue,Supervisord,Email Notifications,我还重新启动了队列 php artisan view:clear 我也跑了 php artisan queue:restart 但对我来说似乎什么都不管用 此问题是否与主管相关?此问题与缓存完全无关。运行队列工作程序时,所有通知类将加载一次 这些类发生的任何更改都不会生效,因为工作程序已经加载了旧类 您可以在Laravel文档中阅读: : 请记住,队列工作进程是长期存在的进程,它将启动的应用程序状态存储在内存中。因此,他们在启动代码库后不会注意到代码库中的更改。因此,在部署过程中,请确保重新
php artisan view:clear
我也跑了
php artisan queue:restart
但对我来说似乎什么都不管用
此问题是否与主管相关?此问题与缓存完全无关。运行队列工作程序时,所有通知类将加载一次 这些类发生的任何更改都不会生效,因为工作程序已经加载了旧类 您可以在Laravel文档中阅读: : 请记住,队列工作进程是长期存在的进程,它将启动的应用程序状态存储在内存中。因此,他们在启动代码库后不会注意到代码库中的更改。因此,在部署过程中,请确保重新启动队列工作程序 : 由于队列工作进程是长期存在的进程,它们不会在不重新启动的情况下获取对代码的更改。因此,使用队列工作者部署应用程序的最简单方法是在部署过程中重新启动工作者。您可以通过发出queue:restart命令优雅地重新启动所有工作进程 因此,要更新通知内容,必须杀死所有正在运行的队列工作人员并重新启动它们 此建议的重启Supervisor的解决方案(因为您使用的是Supervisor)将非常适合您
php artisan config:cache
但是,我不建议这样做,因为重新启动Supervisor将硬杀死您的队列工作人员,并且当前处理的作业将丢失
编辑:使用Supervisor restart命令对于Laravel 5.4+是安全的,但是,请确保将“stopwaitsecs”(在工作人员的Supervisor配置文件中)设置为高于估计作业处理时间的值
这就是为什么存在用于重新启动队列的artisan命令:
supervisorctl restart all
您应该使用此命令杀死队列工作人员,主管将为您重新启动它们
但是,请记住,此命令需要一段时间才能生效,因为它将向所有正在运行的队列工作人员广播重新启动信号,并且队列工作人员仅在完成其当前作业的处理后才会捕获该信号。这就是所谓的优雅杀戮
为了让这个工匠的命令生效,当重启信号通过缓存广播时,请确保为Laravel设置正确的缓存驱动程序。您是否在Homestead上运行代码?我正在专用服务器上运行我的代码。转到文件夹go/storage/framework/views/删除所有if并检查。在/storage/framework/views/运行php artisan view时有注意事项:在检查目录可能会停止工作程序,清除缓存,重新启动工作程序。我甚至建议重新启动supervisor服务。
supervisorctl restart all
php artisan queue:restart