延迟的“U作业守护进程因错误而终止”;与MySQL服务器的连接中断。”;

延迟的“U作业守护进程因错误而终止”;与MySQL服务器的连接中断。”;,mysql,ruby-on-rails,ruby,delayed-job,Mysql,Ruby On Rails,Ruby,Delayed Job,我有一个应用程序,延迟的作业被后台监控。 此daemonized delayed jobs进程经常被终止 但是,当我手动调用rake jobs:work时,相应的delayedjob进程不会被终止 我在这个问题上遇到了两种情况: 第一个场景在日志文件中列出了错误 ImportSQLJob failed with ActiveRecord::StatementInvalid: Mysql2::Error: Lost connection to MySQL server during query:

我有一个应用程序,延迟的作业被后台监控。 此daemonized delayed jobs进程经常被终止

但是,当我手动调用
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
延迟的\u作业
已被系统锁定

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

在第二种情况下,daemonized
delayed_jobs
进程被终止,日志文件中没有任何错误,但是这里的作业没有被锁定,并且在应用程序的/tmp/pids/目录中找不到PID。这与本文中提到的相同。在该线程中,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

请通读有关设置问题格式的帮助。如果问题的格式为可读性,它将帮助我们。感谢您格式化我的问题。。