现在,我们有一个使用插件的Rails应用程序,它在MySQL主从结构中运行了一段时间。最近,需要对长时间运行的任务进行后台处理。所以我们选择了。
DelayedJob的表/模型使用相同的主从适配器。并且它通过轮询表来保持从连接的活动。但是主连接在很长一段时间内保持空闲,一夜之间关闭,下一次有人激活作业时就会发生这种情况:
Mysql::Error: MySQL server has gone away: UPDATE `delayed_jobs` SET locked_by = null, locked_at = null WHERE (locked_by = 'delayed_job