0

私は、MySQL DBを使用してRails 3.2.14でdelayed_job_active_record 0.4.4およびdaemons 1.1.9を使用してdelayed_job 3.0.5を実行しています。script/delayed_job start コマンドを実行すると、正常に起動しているように見えますが、pid ファイルは作成されません。delayed_job ログを確認すると、プロセスが開始されているという情報メッセージだけにエラーはありません。

ただし、Rails dev ログを見ると、SQL 更新コマンドの後に不明なエイリアスが返されます。これは、ログからの抜粋で、delayed_job を 2 回開始した場所を示しています。新しい pid を取得するたびに、同じ不明なエイリアスを与えるたびに。

これを解決するための助けをいただければ幸いです。

bcrossland-mb:GameKultur bcrossland$ tail log/development.log 
  Delayed::Backend::ActiveRecord::Job Load (17.9ms)  SELECT `delayed_jobs`.* FROM `delayed_jobs` WHERE `delayed_jobs`.`locked_at` = '2013-09-18 21:14:09' AND `delayed_jobs`.`locked_by` = 'delayed_job host:bcrossland-mb.local pid:13163' AND `delayed_jobs`.`failed_at` IS NULL LIMIT 1
  Preference Load (0.5ms)  SELECT `preferences`.* FROM `preferences` LIMIT 1
  SQL (8.0ms)  UPDATE `delayed_jobs` SET `locked_by` = NULL, `locked_at` = NULL WHERE `delayed_jobs`.`locked_by` = 'delayed_job host:bcrossland-mb.local pid:13163'
Unknown alias: 70352758094800
Connecting to database specified by database.yml
  SQL (105.9ms)  UPDATE `delayed_jobs` SET `locked_at` = '2013-09-18 21:36:58', `locked_by` = 'delayed_job host:bcrossland-mb.local pid:13564' WHERE ((run_at <= '2013-09-18 21:36:58' AND (locked_at IS NULL OR locked_at < '2013-09-18 17:36:58') OR locked_by = 'delayed_job host:bcrossland-mb.local pid:13564') AND failed_at IS NULL) ORDER BY priority ASC, run_at ASC LIMIT 1
  Delayed::Backend::ActiveRecord::Job Load (1.1ms)  SELECT `delayed_jobs`.* FROM `delayed_jobs` WHERE `delayed_jobs`.`locked_at` = '2013-09-18 21:36:58' AND `delayed_jobs`.`locked_by` = 'delayed_job host:bcrossland-mb.local pid:13564' LIMIT 1
  Preference Load (0.6ms)  SELECT `preferences`.* FROM `preferences` LIMIT 1
  SQL (1.8ms)  UPDATE `delayed_jobs` SET `locked_by` = NULL, `locked_at` = NULL WHERE `delayed_jobs`.`locked_by` = 'delayed_job host:bcrossland-mb.local pid:13564'
Unknown alias: 70352758094800
4

1 に答える 1