rails 4中的crontab未正确执行

时间:2014-04-30 11:36:30

标签: ruby-on-rails ruby-on-rails-4 crontab

我正在开发一个项目(它是一个公司的Intranet项目,用于检查员工是否正常工作)。我希望每隔1分钟拍摄一次登录用户的屏幕截图并保存到服务器。我创建了拍摄屏幕截图的方法。并且可以保存到数据库。但是在cron选项卡创建中出现了问题。它根本没有执行。 为了创建crontab,我使用 gem'never',:require =>我的gem文件中的false 。之后我随时都会.it,所以我得到了schedule.rb文件。

我的schedule.rb文件

set :environment, 'development'

every 1.minutes do 
    runner "MyModel.cron_screenshot"
end

我想检查开发模式,这就是为什么我将环境设置为'development'

MyModel是我的模型文件包含此代码

class MyModel < ActiveRecord::Base
    has_attached_file :file_avatar, :default_url => "/files/:style/missing.jpg",
      :styles => {
         :thumb => "100x100#",
         :small  => "150x150>",
         :medium => "500x500" 
       }
    do_not_validate_attachment_file_type :file_avatar



    def self.cron_screenshot
        puts pwd()
        result = %x{scrot}
        create
    end

    def create
        f = File.open(Rails.root.join('screenshot.png'), 'rb')
        model = MyModel.new
        model.file_avatar = f
        model.save
    end
end

我使用的是Ubuntu 13.04作为我的操作系统。当我输入命令crontab -l来检查我输出为

# Begin Whenever generated tasks for: store
* * * * * /bin/bash -l -c 'cd /home/project/screenshot/image && bin/rails runner -e development '\''MyModel.cron_screenshot'\'''

# End Whenever generated tasks for: store

一分钟后什么也没发生。这里出了什么问题?

0 个答案:

没有答案