crontab不在容器内运行

时间:2019-06-23 14:53:06

标签: ruby-on-rails docker cron

我正在尝试在容器内创建一个cron作业以运行ruby类,但它不会自动运行。 当我尝试在没有docker和container的情况下进行本地测试时,它的效果很好。并且在终端中运行以下命令rails runner "Delete.delete_old_requests"时也有效。

我认为应用程序路径中的问题!称为myapp。预先感谢

  1. 我将cron安装在容器内。 apt-get install cron
  2. 在名为Delete.rb的红宝石文件中创建任务。和一个叫做delete_old_requests的方法
  3. 在crontab文件中创建一个cron任务,如下所示:
* * * * *  /bin/bash -l -c 'cd /myapp && RAILS_ENV=development bundle exec rails runner "Delete.delete_old_requests"'

代码: delete.rb

class Delete < ApplicationRecord
    def self.delete_old_requests
         users=User.all
         users.update_all(requests_num_per_day: 0)
    end
end

crontab

* * * * *  /bin/bash -l -c '/myapp && RAILS_ENV=development bundle exec rails runner "Delete.delete_old_requests"'

0 个答案:

没有答案