Python 芹菜工作者过早退出:序列化程序上的信号9(SIGKILL)。_有效吗()

Python 芹菜工作者过早退出:序列化程序上的信号9(SIGKILL)。_有效吗(),python,django,celery,Python,Django,Celery,我知道关于这个话题已经有一些问题了,所以我理解了总体思路,但这是更具体的。 在芹菜工人的工作中,我们创建了很多对象(大约2000个)。 似乎每次,在某个点上,在第2000个物体(1700-1900)附近,我们都会得到这个错误: 工作人员提前退出:信号9(SIGKILL) 这似乎总是发生在代码的这一部分: serializer = ModelSerializer(data=model_data) Logger.info("serializer created") if serializer.is_

我知道关于这个话题已经有一些问题了,所以我理解了总体思路,但这是更具体的。 在芹菜工人的工作中,我们创建了很多对象(大约2000个)。 似乎每次,在某个点上,在第2000个物体(1700-1900)附近,我们都会得到这个错误:
工作人员提前退出:信号9(SIGKILL)
这似乎总是发生在代码的这一部分:

serializer = ModelSerializer(data=model_data)
Logger.info("serializer created")
if serializer.is_valid() is True:
    Logger.info("serializer valid")
我确实看到了第一个日志,所以我想序列化程序创建成功了,但是我没有看到第二个日志。这并不是说序列化程序无效,因为也涵盖了这种情况。在那行代码之后,我就看不到任何来自作业的日志了(
如果serializer.is\u valid()
)。 当尝试创建较少的对象时,这似乎很好。 所以我的问题是,为什么在一个芹菜作业中使用大量的serializer

确切错误:

Process 'ForkPoolWorker-3' pid:890 exited with 'signal 9 (SIGKILL)' 

Task handler raised error: WorkerLostError('Worker exited prematurely: signal 9 (SIGKILL).',)   

billiard.exceptions.WorkerLostError: Worker exited prematurely: signal 9 (SIGKILL).

你能从你的日志中粘贴整个错误吗?如果它包含一些私人信息,请混淆它。@DejanLekic添加了它。谢谢。
is\u valid()
做什么?@DejanLekic这就是序列化程序在创建对象之前确保数据有效的方式。