【问题标题】:Rails cron task development environmentRails cron 任务开发环境
【发布时间】:2023-04-07 01:21:02
【问题描述】:

我试图弄清楚每当 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

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

【问题讨论】:

  • 你试过没有双引号的 User.create 行吗?
  • @JagdishN 是的,它给了我一个语法错误

标签: ruby-on-rails ruby cron


【解决方案1】:

我正在尝试弄清楚每当 gem 是如何工作的。

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

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

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

【讨论】:

  • 嗨@Sergio Tuluntsev,不,我不知道runner,你能告诉我更多吗?它不会在我指定的路径上创建任何日志文件。
  • @MaxPuissant:“不,我不知道跑步者,请你告诉我更多信息” - 看看任何时候的自述文件。
  • @MaxPuissant "它不会在我指定的路径创建任何日志文件" - 您的用户是否有权写入该位置?
  • @MaxPuissant:你怎么知道的?给我看。
  • 你的意思是-rwxrwx--x 1 harri harri 0 juil. 10 17:10 cron_log.log
猜你喜欢
  • 2013-03-31
  • 1970-01-01
  • 1970-01-01
  • 2011-06-04
  • 1970-01-01
  • 2014-05-13
  • 2011-05-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多