芹菜因Postgres数据库人口而停滞

时间:2018-11-16 01:38:21

标签: postgresql docker ubuntu redis celery

我们正在使用celery在多个Docker容器中管理任务队列。我们将Redis用作经纪人和结果后端。当我们触发填充Postgres数据库的异步任务时,芹菜挂起,但仅在某些时候挂起。我们无法观察到这种情况遵循的模式,但是该任务暂停了执行并挂起了我们在该应用程序所拥有的Postgres数据库中创建多个数据库表的步骤。

我们正在使用以下版本的相关软件:

Postgres:9.6.6

Psycopg:2.7.5

芹菜:4.2.1

Ubuntu:14.04.3

Redis:3.2

当我们清除挂起的活动任务时,保留的任务未移入活动状态。我们也无法撤销这些任务,因此不得不重新启动docker容器。

这是我们首先尝试的方法:

我们尝试重新启动工作程序,但这并未使任务移出保留状态。

我们试图撤消保留的任务,而芹菜证实它们已被撤消,但它们仍出现在该工作人员的保留任务列表中。

当我们尝试启动新任务时,这也不会影响状态。 我们找到了一个相关的medium post

为了遵循他们的诊断步骤,我们无法将strace用于我们的目的,它引发了以下错误:

strace: attach: ptrace(PTRACE_SEIZE, 45): Operation not permitted

并尝试了多种方法来尝试诊断。我们了解到Postgres的先前版本中存在数据库锁定问题,但看来我们正在使用解决该问题的版本。

任何帮助或想法将不胜感激。我们为应用工程师提供了很少的开发帮助。谢谢!

0 个答案:

没有答案