铁路6:如何在crontab中运行rails任务?

问题描述

我想运行由cron(crontab条目)启动的Rails任务。 但是我总是得到找不到rails命令的错误。

/bin/sh: rails: No such file or directory

所以我尝试的内容与.profile或.bashrs包含的内容相同:

source "$HOME/.rvm/scripts/rvm"
export PATH="$PATH:$HOME/.rvm/bin"

它不知道需要导出哪个变量,或者之前需要执行哪个programm / tools / sub命令,按照这种顺序,首先执行命令XYZ,然后导出GEM___变量1 2 3,然后执行另一个子命令,然后通过命令ABC进行检查,但在工具rvm列表返回的字符串不等于RVM_string_1 ...时不进行检查。

解决方法

嗨,您可以为此使用whenever gem。请按照以下步骤进行操作:

步骤1:只要有宝石就添加到Gemfile中

# Gemfile

gem 'whenever','~> 1.0'

第2步:。运行bundle install安装此gem。

第3步::运行wheneverize .,这将为您创建一个初始config/schedule.rb文件(只要您的项目中已经存在config文件夹)。

步骤4:打开新创建的config/schedule.rb并编写您的调度程序任务。

# config/schedule.rb
# here `fetch_user_meetings:sync` this is one task in my case.
# please replace this with your task.

every :hour do
  rake "fetch_user_meetings:sync",output: {
    error: 'log/fetch_user_meetings_sync_error.log',standard: 'log/fetch_user_meetings_sync_access.log'
  }
end

步骤5 :运行whenever。此命令将以实际的cron格式输出生成的日程表的预览,并将您的作业附加到crontab。每当您修改config/scheduler.rb时,请运行此命令。这将更新您的cron作业。

注意::有许多选项可用于设置调度程序作业。请遵循此doc

快乐编码:-)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...