gpt4 book ai didi

ruby-on-rails - 使用 delayed_job_3 的新延迟作业的默认队列?

转载 作者:数据小太阳 更新时间:2023-10-29 07:53:56 24 4
gpt4 key购买 nike

我正在使用共享同一个数据库的多个 heroku 服务器。我想让每台服务器只为创建延迟作业条目的服务器处理延迟作业。

例如:

服务器A只处理队列“server_a”

服务器A只处理队列“server_b”

等...

这可以通过使用延迟作业 3 (https://github.com/collectiveidea/delayed_job) 来实现

但是,要实现这一点,我需要为创建的每个延迟作业手动分配一个队列名称,这可能会很麻烦。 (例如:object.delay(:queue => 'tracking').method)

相反,我希望能够为所有新作业分配一个“默认队列”。理想情况下,我将类似这样的东西放在 delayed_job_config.rb 中并且它有效:

DEFAULT_QUEUE_NAME = ENV['APP_NAME']

...我的想法是我对现有的延迟作业不做任何事情,它们会自动分配一个与应用程序服务器同名的队列。

我正在寻找有关如何完成此任务的建议——或者如果您想尝试一下,请按我的方式提供一些代码。

提前致谢!

最佳答案

config/initializers/delayed_job.rb


Delayed::Worker.default_queue_name = `hostname`.chomp

关于ruby-on-rails - 使用 delayed_job_3 的新延迟作业的默认队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8949264/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com