我正在开发一个项目(它是一个公司的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
一分钟后什么也没发生。这里出了什么问题?