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
這是什麼原因導致我在哪裏犯錯? 在此先感謝