ruby-on-rails - Rails 的 "delayed_job"真的用于 cron 任务吗?

标签 ruby-on-rails cron delayed-job whenever

delay_job 位于 http://github.com/collectiveidea/delayed_job

delay_job 有能力做cron任务吗?比如每晚凌晨 1 点运行一个脚本。或者每 1 小时运行一个脚本。

如果没有,有什么合适的 gem 可以做到这一点?是否可以使用浏览器进行远程监控,并记录成功和错误?

最佳答案

我参与了一个尝试使用 DelayedJob 来安排 future 项目的项目。它糟透了。

相反,我建议您使用 每当 gem :

http://github.com/javan/whenever

Whenever is a Ruby gem that provides a clear syntax for defining cron jobs. It outputs valid cron syntax and can even write your crontab file for you. It is designed to work well with Rails applications and can be deployed with Capistrano. Whenever works fine independently as well.



代码看起来像这样(来自 github)
  every 3.hours do
    runner "MyModel.some_process"
    rake "my:rake:task"
    command "/usr/bin/my_great_command"
  end

  every 1.day, :at => '4:30 am' do
    runner "MyModel.task_to_run_at_four_thirty_in_the_morning"
  end

  every :hour do # Many shortcuts available: :hour, :day, :month, :year, :reboot
    runner "SomeModel.ladeeda"
  end

  every :sunday, :at => '12pm' do # Use any day of the week or :weekend, :weekday
    runner "Task.do_something_great"
  end

Here是关于如何使用它的 RailsCast 视频。

和相应的ASCIICast .

关于ruby-on-rails - Rails 的 "delayed_job"真的用于 cron 任务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3632129/

相关文章:

cron - GCP K8S上的cron作业未运行时的CPU/内存使用情况

mysql - 想知道如何构建这个用户和服务器 ID 数据库

cron - 一个小时后运行 15 和 45 分钟的 cron 作业的语法是什么?

php 函数 fgetcsv() 在 cron 作业时出错

ruby - PostgreSQL 查询正在吞噬 VM

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

mysql - 使用 mongoid(通过 ActiveRecord)作为延迟作业的后端有什么好处?

ruby-on-rails - Rails - 使用 [ 和 ] 从字符串中提取子字符串

ruby-on-rails - 在登台时引发禁用属性错误

ruby-on-rails - Ruby on Rails 分页 : Sort order not respected (will_paginate gem)