加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何通过cron运行rake任务?

发布时间:2020-12-17 01:51:04 所属栏目:百科 来源:网络整理
导读:我有和rails应用程序和一个rake任务,我将在一小时内由cron执行一次.但问题是该任务使用rails环境和我的rails应用程序的某些类.如果我将它作为 ruby脚本运行,我将必须包含它使用的所有依赖项,我认为不可能以一种简单的方式正确地执行它.所以我必须将它作为rak
我有和rails应用程序和一个rake任务,我将在一小时内由cron执行一次.但问题是该任务使用rails环境和我的rails应用程序的某些类.如果我将它作为 ruby脚本运行,我将必须包含它使用的所有依赖项,我认为不可能以一种简单的方式正确地执行它.所以我必须将它作为rake任务运行,因为它将保留所有依赖项,对吧?那我怎么能从cron运行rake任务呢?

请注意,在没有必要的情况下,我不想使用任何第三方解决方案,在这种情况下,我不想在任何时候使用gem.

解决方法

你可以添加你的crontab之类的东西

0 * * * * /bin/bash -l -c 'cd /path/to/your/project && bundle exec rake foo:bar >> log/cron.log 2>&1'

这将每小时运行foo:bar任务并将stdout和stderr写入log / cron.log.

在rake命令之前请注意bundle exec.
使用bundler确保您的任务将获取正确的环境.

要指定RAILS_ENV,您可以这样做

... && RAILS_ENV=production bundle exec rake foo:bar

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读