这是我的日程安排文件中的代码。我用1分钟来测试它是否有效。
every 1.minutes do
runner "User.update_all('daily_sms_count' = 0 )"
end
从终端i设置
whenever --set environment=development --update-crontab 1mintesting
问题是什么?
答案 0 :(得分:6)
您使用的是RVM吗?如果是这样,每当生成如下的crontab条目时:
* * * * * /bin/bash -l -c
'cd /Users/myuser/Documents/Projects/foo && script/rails runner -e
development '\''User.update_all("daily_sms_count" = 0 )'\'''
这意味着它不一定会使用你的项目版本的Ruby和相关的gemset,因为它会旋转一个新的bash shell。要使其工作,您需要将适当的.rvmrc
文件添加到项目的根文件夹中。这样,生成的crontab条目的cd /Users/myuser/Documents/Projects/foo
部分将确保使用适当的RVM设置。只需确保在将.rvmrc
文件cd..
添加回项目后,使RVM识别您的项目.rvmrc
。
如果您没有使用RVM,请运行crontab -l
,然后复制生成的条目,并从终端运行它以查看它是否运行且没有错误。
如果您使用的是Mac,cron
会向您的邮箱发送日志消息,您可以使用mail
命令查看它们。
如果这些技巧不起作用,请向我提供有关您的工作环境(操作系统,RVM等)的更多详细信息,以便我可以为您提供更多帮助。