[英]How do I run CRON jobs for a Rails app on Amazon EC2?
谁能给我一个提示,如何为在Amazon EC2(Ubuntu)上运行的Rails应用设置CRON作业?
试图找到一些使它工作的教程或技巧,但仍然没有成功。 谢谢
尝试创建一个模型方法来执行您的crondjob的任务。 您可以使用railsRunner执行脚本。
rails runner 'User.deliver_reminder_emails!'
每当gem可以做更出色的事情时: https : //github.com/javan/whenever
这对我来说相当棘手,因为ELB-EC2实例试图以root身份运行cron作业,这似乎导致一组不同的权限,捆绑等。
这有点hacky,但这行得通:
sudo su ec2-user bin/bash -lc "cd /var/app/current && /opt/rubies/ruby-2.1.8/bin/bundle exec/bundle exec rails runner -e your_env \"Model.do_something\""
基本上,su是通常运行rails的用户,并显式说明bundle的路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.