部署 服务器上的周期性任务大家都习惯用什么来实现呢?

adamshen · February 24, 2016 · Last by jasl replied at February 25, 2016 · 3566 hits

是用 crontab 吗?

#1 楼 @vincent 很棒,谢谢,我就准备照着这样用了。

sidekiq-cron gitlab 用的是这个

如果执行周期很频繁,比如每分钟执行一次,可以用 sidekiq-cron,这样能避免频繁加载 rails 环境,提升效率。如果周期很长,我觉得还是用 crontab 比较好,干净独立,依赖少,不会有干扰。

固定周期的用 crontab。如果”周期性“涉及到可编程逻辑(比如按不同 company 的本地时区来周期性计算)我还是用 background job 去处理。如果必须要用 Sidekiq 做周期性任务的话,sidetiq (不是 sidekiq) 这个 gem 可以看看。

个人不推荐把重要的周期性任务放到 crontab 里面,当有逻辑变更(周期性也变更)的时候因为非常容易忽略。还是用 sidekiq-cron gem 把周期性任务和整个项目结合在一起更整体一点

有用 resque + resque-scheduler 的么。。。

经过长时间被 sidekiq 内存问题的折磨,个人推荐:

  • 定时任务用 cron
  • 延时任务用 sidekiq
  • 一次性任务用 rake

我们在 docker 环境下用 clockwork,优点是以进程形式存在

You need to Sign in before reply, if you don't have an account, please Sign up first.