同一个应用程序中的 Heroku Delayed Job 和 Sidekiq
Heroku Delayed Job and Sidekiq in the Same app
我目前在我的 Heroku 实例上 运行 宁 delayed::job 做很多不同类型的工作(导出大型列表等),我正在使用很棒的 progress job gem向发出请求的用户显示作业的进度条。
我希望能够 运行 一个 sidekiq worker 以及其他工作,不涉及用户,我不需要进度条,因为它明显改善了内存Delayed::Job。
我可以 运行 在同一个 heroku 应用程序上同时使用 delayed job 和 sidekiq 吗?如果是这样,有什么我可以效仿的例子吗?我对如何设置 procfile 或这个感到困惑。
下面是我的 Procfile。我不知道如何同时启动 Delayed Job 和 Sidekiq?如果我只是在下面的工作行上添加 bundle exec sidekiq 之类的事情,它似乎可以取代延迟的工作?
过程文件:
web: bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development}
web: bundle exec puma -C config/puma.rb
worker: bundle exec rake jobs:work
有可能。
首先,你应该解决类似.delay
的接口冲突问题。这里:Run Delayed Jobs and Sidekiq at the same time
其次,您应该设置多个 active_job 适配器配置。这里:http://edgeguides.rubyonrails.org/active_job_basics.html#backends
关于Procfile,可以注册多个worker
例如)
web: bundle exec puma -t 5:5 -p ${PORT:-3000} -C config/puma.rb
worker: bundle exec sidekiq
delayedjobworker: bundle exec rake jobs:work
勾选https://devcenter.heroku.com/articles/procfile#more-process-type-examples
我目前在我的 Heroku 实例上 运行 宁 delayed::job 做很多不同类型的工作(导出大型列表等),我正在使用很棒的 progress job gem向发出请求的用户显示作业的进度条。
我希望能够 运行 一个 sidekiq worker 以及其他工作,不涉及用户,我不需要进度条,因为它明显改善了内存Delayed::Job。
我可以 运行 在同一个 heroku 应用程序上同时使用 delayed job 和 sidekiq 吗?如果是这样,有什么我可以效仿的例子吗?我对如何设置 procfile 或这个感到困惑。
下面是我的 Procfile。我不知道如何同时启动 Delayed Job 和 Sidekiq?如果我只是在下面的工作行上添加 bundle exec sidekiq 之类的事情,它似乎可以取代延迟的工作?
过程文件:
web: bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development}
web: bundle exec puma -C config/puma.rb
worker: bundle exec rake jobs:work
有可能。
首先,你应该解决类似.delay
的接口冲突问题。这里:Run Delayed Jobs and Sidekiq at the same time
其次,您应该设置多个 active_job 适配器配置。这里:http://edgeguides.rubyonrails.org/active_job_basics.html#backends
关于Procfile,可以注册多个worker 例如)
web: bundle exec puma -t 5:5 -p ${PORT:-3000} -C config/puma.rb
worker: bundle exec sidekiq
delayedjobworker: bundle exec rake jobs:work
勾选https://devcenter.heroku.com/articles/procfile#more-process-type-examples