【发布时间】:2023-03-23 22:59:01
【问题描述】:
我需要允许用户为非常非常大的工作提交请求。我们说的是 100 GB 的内存和 20 小时的计算时间。这花费了我们公司很多钱,所以规定任何时候只能运行 2 个作业,并且当 2 个已经在运行时请求新作业将被拒绝(并且用户通知服务器忙)。
我当前的解决方案使用来自 concurrent.futures 的 Executor,并且需要将 Apache 服务器设置为仅运行一个进程,从而降低响应速度(当前用户数非常少,所以暂时还可以)。
如果可能的话,我想为此使用 Celery,但我在文档中没有看到任何方法可以完成此特定设置。
如何在 Django 应用程序的后台运行数量有限的作业,并在作业因服务器繁忙而被拒绝时通知用户?
【问题讨论】:
标签: python django asynchronous celery background-process