RAILS6:如何在crontab中运行rails任务?
RAILS 6 : How to run rails tasks in crontab?
我想 运行 rails 由 cron(crontab 条目)启动的任务。
但是我总是得到找不到 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-command,按什么顺序,先执行命令XYZ再导出GEM___变量1 2 3,再执行另一个子命令,然后通过命令 ABC 检查,但在工具 rvm 列表 returns 字符串不等于 RVM_string_1 ....
时不检查
您好,您可以使用 whenever gem。请按照以下步骤操作:
第 1 步: 添加任何时候 gem 到你的 Gemfile
# Gemfile
gem 'whenever', '~> 1.0'
第 2 步: 运行 bundle install
安装此 gem.
第 3 步: 运行 wheneverize .
这将为您创建一个初始 config/schedule.rb
文件(只要配置文件夹已经存在)出现在您的项目中)。
第 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.
快乐编码:-)
我想 运行 rails 由 cron(crontab 条目)启动的任务。 但是我总是得到找不到 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-command,按什么顺序,先执行命令XYZ再导出GEM___变量1 2 3,再执行另一个子命令,然后通过命令 ABC 检查,但在工具 rvm 列表 returns 字符串不等于 RVM_string_1 ....
时不检查您好,您可以使用 whenever gem。请按照以下步骤操作:
第 1 步: 添加任何时候 gem 到你的 Gemfile
# Gemfile
gem 'whenever', '~> 1.0'
第 2 步: 运行 bundle install
安装此 gem.
第 3 步: 运行 wheneverize .
这将为您创建一个初始 config/schedule.rb
文件(只要配置文件夹已经存在)出现在您的项目中)。
第 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.
快乐编码:-)