我正在尝试在heroku上设置Redis队列,该队列似乎正在工作,但是在我添加延迟的同时它的处理工作会立即进行。
此外,似乎还没有使用工作进程来处理,我排队的日志记录在主Web Dynos上。
这是我的procfile的内容:
web: vendor/bin/heroku-php-apache2 public/
worker: php artisan queue:listen --tries=1 --delay=20
我的配置变量为:
QUEUE_CONNECTION设置为redis
输入代码后,我做到了。要运行工人测功机,我运行以下命令
heroku ps:scale
heroku ps:scale worker=1
我跑步时
heroku logs --tail --ps worker
它说开始了,但是作业日志出现在网络测功机上,并且作业立即运行。这就是我要完成两项工作的方式
TestJob::dispatch(1)->delay(now());
TestJob::dispatch(2)->delay(now()->addSeconds(120));