gpt4 book ai didi

ruby-on-rails - 在多台机器上使用delay_job,其中一些任务需要在本地运行

转载 作者:行者123 更新时间:2023-12-04 23:33:50 26 4
gpt4 key购买 nike

我正在尝试将 delay_job 用于 rails 应用程序的各个部分。问题是,如果我们有多个应用程序实例在运行,但某些作业(例如处理上传)需要由本地工作人员运行,而其他工作则可以通过由任何工作人员运行而受益。

有没有人对拥有本地/非本地工作类型的好方法有任何建议?

最佳答案

我刚刚在 the latest issue of Rails Magazine 中阅读了“使用延迟作业进行后台处理”,我突然想到您可能会滥用内置的作业优先级系统。

您可以为工作人员指定最低和最高优先级。现在,如果您的特殊本地作业的优先级为 42,则该工作人员将只处理这些作业......

rake jobs:work RAILS_ENV=production MIN_PRIORITY=42 MAX_PRIORITY=42

而这个 worker 将处理除那些特殊的本地工作以外的所有工作:
rake jobs:work RAILS_ENV=production MIN_PRIORITY=0 MAX_PRIORITY=10

这应该足够灵活以实现您的需求。但是,我坦率地承认,我今天才了解了这个功能,还没有亲自尝试过,所以 YMMV!

关于ruby-on-rails - 在多台机器上使用delay_job,其中一些任务需要在本地运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1375966/

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