首页 > 解决方案 > 如果 celery 代理没有运行,Django 测试会随机冻结

问题描述

问题

在本地运行单元测试时,在某个时间点,它完全冻结,我不明白出了什么问题。即使我使用最大详细-v3选项运行测试,我也不知道。

我认为这与测试本身无关,因为它们曾经通过,或者仍然通过 CI。另外,它并不总是在同一阶段冻结。

在此处输入图像描述

我用什么

我试过的

任何想法?如何调试这个?

标签: pythondjangopostgresqldockerunit-testing

解决方案


好吧,我觉得很愚蠢,但它可以帮助一些人......

-> 如果您使用的是 Celery,并且您的测试使用delay()方法调用了一些任务,请确保您的代理服务器正在运行(在我的情况下,我使用 Redis)。如果没有,它将冻结代码中的任何内容,因为当 redis 客户端尝试连接到服务器时似乎没有超时。


推荐阅读