每当 cron 作业在 Rails 3 中不起作用时

2023-12-12

这是我的计划文件中的代码。我用 1 分钟只是为了测试它是否有效。

every 1.minutes do
  runner "User.update_all('daily_sms_count' = 0 )"
end

从终端我设置

whenever --set environment=development --update-crontab 1mintesting

有什么问题吗?


你用的是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文件到项目的根文件夹。这样,将cd /Users/myuser/Documents/Projects/foo生成的 crontab 条目的一部分将确保使用适当的 RVM 设置。只需确保当您添加.rvmrc file, cd..并返回项目以使 RVM 识别您的项目.rvmrc.

如果您不使用 RVM,请运行crontab -l,然后复制生成的条目,然后从终端运行它,看看它运行时是否没有错误。

如果您使用的是 Mac,cron会将日志消息发送到您的邮箱,您可以使用mail命令。

如果这些技巧不起作用,请向我提供有关您的工作环境(操作系统、RVM 等)的更多详细信息,以便我可以为您提供更多帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每当 cron 作业在 Rails 3 中不起作用时 的相关文章

随机推荐