如何在Amazon EC2上为Rails应用程序运行CRON作业?

时间:2013-09-28 21:41:21

标签: ruby-on-rails ruby ubuntu amazon-ec2 cron

有人能给我一个如何为在Amazon EC2(Ubuntu)上运行的Rails应用程序设置CRON作业的提示吗?

尝试找到一些教程或提示如何使其工作,但仍然没有任何成功。 谢谢

3 个答案:

答案 0 :(得分:1)

尝试创建一个为crondjob执行任务的模型方法。您可以使用rails runner执行脚本。

rails runner 'User.deliver_reminder_emails!'

每当宝石甚至可以做更高级的东西:https://github.com/javan/whenever

答案 1 :(得分:0)

您应该查看rake个任务。查看thisthisthis

运行它们就像

一样简单
rake foo:bar

您可以在crontab中安排相同的内容;如果您使用PATHrvm在本地管理宝石,则可能需要设置正确的bundler变量。

答案 2 :(得分:0)

这对我来说相当棘手,因为ELB-EC2实例试图以root身份运行cron作业,这似乎导致了一组不同的权限,捆绑等等。

有点hacky,但这很有效:

.

基本上,su通常运行rails的用户,并明确说明bundle的路径。