delayed_job守护程序被杀死,错误为“与MySQL服务器的连接丢失”。

时间:2014-11-25 14:43:34

标签: mysql ruby-on-rails ruby delayed-job

我有一个应用程序,延迟作业守护进程。 这种守护进程延迟的工作流程经常被杀死。

但是,当我手动调用rake jobs:work时,相应的delayedjob进程不会被杀死。

我遇到了这个问题的两种情况:

第一个方案的错误列在日志文件

ImportSQLJob failed with ActiveRecord::StatementInvalid: Mysql2::Error: Lost connection to MySQL server during query: DELETE FROM `delayed_jobs` WHERE (`delayed_jobs`.`id` = 93528940) - 0 failed attempts

delayed_job已被系统锁定。

创建的pid存在于应用程序“/ tmp / pids /”文件夹中,但在使用ps -aux检查系统进程时,找不到上述过程。

在第二个场景中,守护程序delayed_jobs进程在日志文件中没有任何错误被终止,但是这里的作业没有被锁定,无法在应用程序的/ tmp / pids /目录中找到pid 。这与Google Groups thread中提到的相同。在那个帖子中,Andrew Havens提到,关于守护进程gem的补丁,srand()函数导致了这个问题。我找不到他制作的补丁,因为Rubyforge网站已永久停止。

在检查Stack Overflow中的其他帖子时,我怀疑问题是使用守护进程gem还是mysql2 gem,但由于我对Rails知识的限制而无法得出结论。

早些时候我有一个MySQL服务器消失问题,我在我的database.yml文件中添加了reconnect: true来解决这个问题。

我的生产环境是:

OS: Ubuntu 12.04 LTS
Ruby version:1.9.3-p429

我用于申请的宝石是:

actionmailer (3.2.2)
actionpack (3.2.2)
activemodel (3.2.2)
activerecord (3.2.2)
activeresource (3.2.2)
activesupport (3.2.2)
arel (3.0.2)
builder (3.0.4)
bundler (1.3.5)
bundler-unload (1.0.1)
choice (0.1.6)
coffee-rails (3.2.2)
coffee-script (2.2.0)
coffee-script-source (1.4.0)
composite_primary_keys (5.0.8)
country-select (1.1.1)
daemon_controller (1.1.0)
daemons (1.1.9)
delayed_job (3.0.4)
delayed_job_active_record (0.3.3)
erubis (2.7.0)
eventmachine (1.0.0)
execjs (1.4.0)
faraday (0.8.4)
fastthread (1.0.7)
google-spreadsheet-ruby (0.3.0)
google_drive (0.3.2)
hike (1.2.1)
httpauth (0.2.0)
i18n (0.6.1)
journey (1.0.4)
jquery-rails (2.1.3)
jquery-ui-rails (4.1.2)
json (1.7.5)
jwt (0.1.5)
libv8 (3.11.8.13 x86-linux)
log4r (1.1.10)
mail (2.4.4)
mime-types (1.19)
multi_json (1.3.7)
multipart-post (1.1.5)
mysql2 (0.3.11)
net-scp (1.2.1)
net-ssh (2.9.0)
nokogiri (1.5.5)
oauth (0.4.7)
oauth2 (0.8.0)
passenger (3.0.18)
polyglot (0.3.3)
rack (1.4.1)
rack-cache (1.2)
rack-ssl (1.3.2)
rack-test (0.6.2)
rails (3.2.2)
railties (3.2.2)
rake (10.0.4, 10.0.1)
rdoc (3.12)
ref (1.0.2)
roo (1.10.1)
ruby-ole (1.2.11.5)
rubygems-bundler (1.2.0)
rubyzip (0.9.9)
rvm (1.11.3.8)
sass (3.2.3)
sass-rails (3.2.5)
spreadsheet (0.7.4)
sprockets (2.1.3)
therubyracer (0.11.4)
thin (1.5.0)
thor (0.14.6)
tilt (1.3.3)
todonotes (0.1.0)
treetop (1.4.12)
tzinfo (0.3.35)
uglifier (1.3.0)
will_paginate (3.0.3)
xml-simple (1.1.2)

database.yml文件是:

production:

adapter: mysql2
encoding: utf8
database: smt_production
pool: 5
username: ****
password: ****
reconnect: true

0 个答案:

没有答案