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! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |