【发布时间】:2015-10-02 13:12:43
【问题描述】:
我想创建一个计划 cron 作业。 我什么时候都用过。我的 Rails 版本是 4.1.6,我在 osx 中。
所以我创建了一个计划 cron 作业来测试。
schedule.rb
every 1.minutes do
runner "DatabaseWatcher.run"
end
补丁:
/lib/DatabaseWatcher.rb
类:
class DatabaseWatcher
def run
puts "test"
end
end
在这之后我做了:
$ 任何时候
## [message] Above is your schedule file converted to cron syntax; your crontab file was not updated.
## [message] Run `whenever --help' for more options.
$ 每当 -w
[write] crontab file written
我从未在命令行中看到“测试”。 我做错了什么?
【问题讨论】:
-
它不是通过你的终端会话运行的,所以它不会在那里输出。
-
用
crontab -l的输出更新你的问题 -
# 每当生成任务时开始: /Users/diogo/MIT/config/schedule.rb * * * * * /bin/bash -l -c 'ls' # 每当生成任务时结束: /Users/diogo/MIT/config/schedule.rb
-
crontab 里面没有你的任务,所以我不会运行,你需要弄清楚为什么它没有写入 crontab
-
@Zahid 粘贴错误。这是最后一个版本: # Begin 每当生成任务时: /Users/diogo/MIT/config/schedule.rb * * * * * /bin/bash -l -c 'cd /Users/diogofrazao/MIT && bin/rails runner -e production '\''DatabaseWatcher.run'\''' # 每次生成任务时结束:/Users/diogo/MIT/config/schedule.rb
标签: ruby-on-rails ruby cron whenever