在 Heroku 上结合使用 Resque、Puma 和 Scheduler

2023-12-15

在查看了大量指南后,我想确认我的设置。现在我的procfile好像:

web: bundle exec puma -C config/puma.rb config.ru
resque: TERM_CHILD=1 RESQUE_TERM_TIMEOUT=10 QUEUES=* bundle exec rake resque:work
worker: bundle exec rake resque:work COUNT=1 QUEUE=*
scheduler: bundle exec rake resque:scheduler

...并且在Heroku:

enter image description here

...还有我的耙子重新请求设置任务:

require 'resque'
require 'resque/tasks'
require 'resque/scheduler/tasks'

# http://jademind.com/blog/posts/enable-immediate-log-messages-of-resque-workers/
namespace :resque do
  desc 'Initialize Resque environment'
  task setup: :environment do
    ENV['QUEUE'] ||= '*'
    Resque.logger.level = Logger::INFO
  end

  task scheduler_setup: :environment
end

desc 'Alias for resque:work'
task 'jobs:work' => 'resque:work'

这是我的问题:

  1. 我的 procfile 中是否需要 Resque 和 Worker 配置?
  2. 我需要为调度程序和工作人员提供单独的测功机吗?这意味着总共 3 个测功机?

Update

我看到了这个帖子,我正在尝试https://grosser.it/2012/04/14/resque-scheduler-on-heroku-without-extra-workers/。目标是能够选择为我的网络、工作人员和调度程序使用 2 个免费测功机。一旦应用程序增长,我想将它们分解成自己的动力系统。


从我发现的博客文章中

他现在提到要扮演这个角色......

web: bundle exec puma -C config/puma.rb config.ru
worker: bundle exe rake schedule_and_work COUNT=1 QUEUE=* TERM_CHILD=1 RESQUE_TERM_TIMEOUT=10

..一旦我们需要更多动力就升级到这个...

web: bundle exec puma -C config/puma.rb config.ru
resque: TERM_CHILD=1 RESQUE_TERM_TIMEOUT=10 QUEUES=* bundle exec rake resque:work
worker: bundle exec rake resque:work
scheduler: bundle exec rake resque:scheduler

这将允许我们使用网络测功机,直到我们想要支付全职调度测功机的费用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Heroku 上结合使用 Resque、Puma 和 Scheduler 的相关文章

随机推荐