有人能给我一个如何为在Amazon EC2(Ubuntu)上运行的Rails应用程序设置CRON作业的提示吗?
尝试找到一些教程或提示如何使其工作,但仍然没有任何成功。 谢谢
答案 0 :(得分:1)
尝试创建一个为crondjob执行任务的模型方法。您可以使用rails runner执行脚本。
rails runner 'User.deliver_reminder_emails!'
每当宝石甚至可以做更高级的东西:https://github.com/javan/whenever
答案 1 :(得分:0)
您应该查看rake
个任务。查看this,this和this。
运行它们就像
一样简单rake foo:bar
您可以在crontab
中安排相同的内容;如果您使用PATH
和rvm
在本地管理宝石,则可能需要设置正确的bundler
变量。
答案 2 :(得分:0)
这对我来说相当棘手,因为ELB-EC2实例试图以root身份运行cron作业,这似乎导致了一组不同的权限,捆绑等等。
有点hacky,但这很有效:
.
基本上,su通常运行rails的用户,并明确说明bundle的路径。