2013-03-17 54 views
3

我使用以下宝石:Ruby on Rails,脚本/延迟作业开始。什么也没有发生

gem 'daemons', "=1.0.10" 
gem 'delayed_job_active_record' 

和下面的命令推迟方法:

after_create:perform_analysis handle_asynchronously:perform_analysis,:run_at => Proc.new {1.minutes.from_now }

脚本/ delayed_job的:

#!/usr/bin/env ruby 

require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment')) 
require 'delayed/command' 
Delayed::Command.new(ARGV).daemonize 

于是,我开始APPLICA通常使用rails(在tmp/pids中出现一个文件server.pid)。上传一些东西,所以创建方法被调用。有些数据被插入到delayed_jobs表中。我关闭停止运行服务器(在tmp/pids中不存在任何东西!)。

然后我写到命令行:

RAILS_ENV=production script/delayed_job start 

响应: 在TMP/PID的appeard delayed_job.pid和终端显示我什么都没有,所以我跑:

[email protected]:~/Desktop/tors15.01$ RAILS_ENV=production script/delayed_job status 
pid-file for killed process 8695 found (/home/kik/Desktop/tors15.01/tmp/pids/delayed_job.pid), deleting. 
delayed_job: no instances running 

,并再次尝试我的运气:

[email protected]:~/Desktop/tors15.01$ RAILS_ENV=production script/delayed_job start 
[email protected]:~/Desktop/tors15.01$ RAILS_ENV=production script/delayed_job run 
pid-file for killed process 8718 found (/home/kik/Desktop/tors15.01/tmp/pids/delayed_job.pid), deleting. 
SQLite3::SQLException: no such table: delayed_jobs: UPDATE "delayed_jobs" SET locked_by = null, locked_at = null WHERE (locked_by = 'delayed_job host:kik-VirtualBox pid:8724') 

当我tun rake jobs:work它workin g

这是什么原因导致我在哪里犯错? 在此先感谢

回答

4

您确定将导轨环境设置为生产吗?

script/delayed_job start 

RAILS_ENV=development script/delayed_job start