我在我的python应用程序中添加了一些芹菜任务,它们运行良好。我正在尝试修复我的芹菜测试套件。我将celery.conf.CELERY_ALWAYS_EAGER = True
添加到我的测试套件中,以便它可以与同步执行的任务一起运行。
问题是随机测试(甚至不使用芹菜任务)显示错误DetachedInstanceError: Parent instance <MyModel at 0x1096ba690> is not bound to a Session; lazy load operation of attribute 'child' cannot proceed
。
删除celery.conf.CELERY_ALWAYS_EAGER = True
修复了问题,但是芹菜任务被发送到队列但没有处理,除非我在终端中启动了一个工作人员。
答案 0 :(得分:1)
看起来你可能正在序列化一些(懒惰地加载属性/属性)的东西(MyModel
),其加载需要一些没有被序列化的东西。
你能尝试将你的任务简化为一个非常简单的功能,看看是否能解决这个问题吗?