Celery + Redis后端:如何限制队列大小?

4
3个回答

1
据我所知,使用Redis作为后端是不可能的。

似乎是真的。 - Maksym Polshcha

0

这可能有点瑕疵,但您可以尝试在调用任务时使用 Redis 锁定。这样,如果另一个进程想要调用任务,它必须等待 Redis 锁被释放(当任务完成运行或超时到达时会发生这种情况)。这将防止过多的任务被添加到队列中。

 with r.lock(some_lock_name, blocking_timeout=10):
    your_celery_task.delay()

0

我认为你正在寻找Celery中的预取限制。请查看文档


预取限制是工作线程可以为自己保留的任务数量上限。我需要限制我的队列。 - Maksym Polshcha
很有趣!限制执行任务的队列,我以前从未遇到过这样的情况。如果您找到了相同的方法,请务必分享。 - Bharat Gera

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接