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

ruby-on-rails – 在Rails中组织工作进程的最佳方法是什么?

发布时间:2020-12-16 20:46:40 所属栏目:百科 来源:网络整理
导读:我经常有一些代码应该按计划运行或作为具有一些参数的后台进程运行.常见的因素是它们在调度过程之外运行,但需要访问Rails环境(以及传入的参数). 什么是组织这个的好方法,为什么?如果您想使用特定的插件或宝石,请解释为什么您找到方便 – 不要列出您使用的插
我经常有一些代码应该按计划运行或作为具有一些参数的后台进程运行.常见的因素是它们在调度过程之外运行,但需要访问Rails环境(以及传入的参数).

什么是组织这个的好方法,为什么?如果您想使用特定的插件或宝石,请解释为什么您找到方便 – 不要列出您使用的插件.

解决方法

对我来说,不想维护大量额外的基础设施是一个关键的优先事项,所以我使用了在Rails之外运行的数据库支持的队列.

在我的情况下,我使用了background_job和delayed_job.使用background_job,工作人员通过cron继续运行,所以没有守护进程管理.有了delayed_job,我使用Heroku,让他们担心.

使用delayed_job,您可以传递与后台工作人员需要运行的参数一样多的参数.

Delayed::Job.enqueue(MyJob.new(param[:one],param[:two],param[:three])

除了通过cron使用脚本/运行程序之外,我还没有找到一个很好的解决方案来运行东西(我更喜欢在Rake任务中使用脚本/运行程序,因为我发现测试代码更容易).

我从来没有必须有一个定期的后台进程,需要访问一个特定的Rails请求,所以没有太多的问题.

我知道还有其他更冷却的系统具有更多的功能,但这对我来说很有效,并帮助我避免处理设置大量新服务来管理.

(编辑:李大同)

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

    推荐文章
      热点阅读