【发布时间】:2015-05-06 02:31:14
【问题描述】:
我正在使用 Laravel 构建一个大型应用程序,并在此应用程序中找到队列的使用。我现在为此使用 beanstalkd 服务。但是,我一直在寻找这个设置的答案。有没有办法让队列重试不立即处理。我希望它在 n 秒后重试。谢谢
【问题讨论】:
标签: laravel laravel-4 queue beanstalkd
我正在使用 Laravel 构建一个大型应用程序,并在此应用程序中找到队列的使用。我现在为此使用 beanstalkd 服务。但是,我一直在寻找这个设置的答案。有没有办法让队列重试不立即处理。我希望它在 n 秒后重试。谢谢
【问题讨论】:
标签: laravel laravel-4 queue beanstalkd
【讨论】:
failing 挂钩并进行自定义重试。此外,在队列工作程序上设置 --delay 标志会产生模棱两可的延迟。不完全确定是否有一套方法可以延迟特定的重试。
php artisan queue:work --daemon --tries=3 --sleep=60 与 php artisan queue:work --daemon --tries=3 --sleep=5 --delay=10 我可以确认使用第二个命令,重试是延迟 10 秒后尝试,而不是立即重试(我使用第一个命令时就是这种情况)。
要延迟下一次重试,只需将--delay=[NUM_OF_SECONDS] 添加到您的命令中。
例如,在失败后等待 30 秒重试,只需运行:php artisan queue:work tries=3 --delay=30
【讨论】: