我想每次通过 get 请求获取 celery 中的任务 eta。 celery 中没有直接的 api 来获取任务预定时间(除了 inspect() - 但对我来说这似乎非常昂贵)
我如何管理特定任务的预计到达时间?在 Django 模型中存储 eta 时间的缺点是不一致(要么我不能存储 taks_id 因为我不能 - 不知道如何从 task_id 获取 eta)
我在一个问题上看到没有 api,因为它在某种程度上取决于经纪人等。但我希望有一些解决方案
那么管理 task_id 以获得 eta 的最佳方式是什么?
后端和broker是redis
最佳答案
我不认为有什么神奇的方法可以做到这一点。
我在我的应用程序中所做的只是记录每个任务的执行时间并将其作为 ETA 返回。如果您想获得更准确的信息,还可以考虑 Redis 队列大小和任务消耗率。
关于python - celery 最好的方式管理/获取任务的eta,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44367961/