首页 > 解决方案 > Rails cron 任务开发环境

问题描述

我试图弄清楚每当 gem 是如何工作的。

我想每分钟创建一个用户实例。

我将以下内容放在我的 schedule.rb 文件中:

set :output, "/log/cron_log.log"
set :environment, 'development'

every 1.minute do
  rake "User.create!(nni: 'TEST0',
              password: '123123',
              password_confirmation: '123123',
              nomprenom: 'user')"
end

然后我输入whenever --update-crontab并检查crontab -l并得到以下信息

# Begin Whenever generated tasks for: /home/harri/Documents/argia/config/schedule.rb at: 2018-07-10 17:19:18 +0200
* * * * * /bin/bash -l -c 'cd /home/harri/Documents/argia && RAILS_ENV=development bundle exec rake User.create!(nni: '\''TEST0'\'', password: '\''123123'\'', password_confirmation: '\''123123'\'', nomprenom: '\''user'\'') --silent >> /log/cron_log.log 2>&1'
# End Whenever generated tasks for: /home/harri/Documents/argia/config/schedule.rb at: 2018-07-10 17:19:18 +0200

然后我启动我的本地主机,没有任何反应,日志中没有任何内容,也没有创建任何用户实例。

标签: ruby-on-railsrubycron

解决方案


我试图弄清楚每当 gem 是如何工作的。

它通过使用您的命令生成一个 crontab 文件来工作。然后 OS/crond 接管。

然后我启动我的本地主机,没有任何反应,日志中没有任何内容,也没有创建任何用户实例。

好吧,那不是您那里的有效 rake 命令。检查 cron 日志,你会在那里看到一个错误。你的意思是使用runner


推荐阅读