加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在多台机器上使用delayed_job,其中一些任务需

发布时间:2020-12-17 02:50:24 所属栏目:百科 来源:网络整理
导读:我正在尝试将delayed_job用于rails应用程序的各个部分.问题是,如果我们有多个应用程序实例正在运行,但某些工作(例如处理上传)需要由本地工作人员运行,而其他人可以通过任何工作人员运行来获益. 有没有人对有本地/非本地工作类型的好方法有任何建议? 解决方
我正在尝试将delayed_job用于rails应用程序的各个部分.问题是,如果我们有多个应用程序实例正在运行,但某些工作(例如处理上传)需要由本地工作人员运行,而其他人可以通过任何工作人员运行来获益.

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

解决方法

我刚读过 the latest issue of Rails Magazine中的“后台处理与delayed_job”,我发现你可能滥用内置的作业优先级系统.

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

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

虽然这个工人将处理除了那些特殊的本地工作以外的所有工作:

rake jobs:work RAILS_ENV=production MIN_PRIORITY=0 MAX_PRIORITY=10

这应该足够灵活,以实现您的需求.但是,我很自然地承认,我今天才了解这个功能,并没有自己试过,所以YMMV!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读