ruby-on-rails - RAILS 6:如何在 crontab 中运行 rails 任务?
问题描述
我想运行由 cron 启动的 rails 任务(crontab 条目)。但是我总是得到找不到 rails 命令的错误。
/bin/sh: rails: No such file or directory
所以我尝试的与 .profile 或 .bashrs 包含的相同:
source "$HOME/.rvm/scripts/rvm"
export PATH="$PATH:$HOME/.rvm/bin"
它不知道需要导出哪些变量,或者之前需要执行哪些程序/工具/子命令,按什么顺序,先执行命令XYZ,然后导出GEM___变量1 2 3,然后执行另一个子命令,然后检查通过命令 ABC 但不是当工具 rvm 列表返回字符串不等于 RVM_string_1 ....
解决方案
嗨,您可以在任何时候使用gem。请按照以下步骤操作:
第 1 步:将每当 gem 添加到您的 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 作业。
注意:有很多选项可以设置您的调度程序作业。请遵循此文档。
快乐编码:-)
推荐阅读
- qt - QML 网格布局问题
- java - 非对称加密字符串,将加密后的字符串和公钥保存到属性文件以供不同程序读取
- python - Python 2.7 - 将自定义对象添加到列表然后打印出属性打印随机值
- c++ - 如何在 GridFS 中设置“contentType”字段?
- python - 为什么程序不打印斐波那契数列?
- javascript - 使用 Angular 5 在 Firebase 中存储数据时无法读取未定义的属性“推送”
- c# - 在.NET(或一般)中创建文档的正确方法是什么?
- java - 带有数组的数学,我可以计算数组内的值吗?
- javascript - 我需要为此功能使用严格的声明吗?它还期待一个“:”而不是一个“。” 对于window.onload?
- firebase-authentication - 2019 年 3 月 7 日之后无法使用 Google + OAuth