我正在使用托管在“ DigitalOcean”服务器上的Web应用程序:
我有20多个任务。每个任务需要0.2到1秒。我希望所有这20多个任务都可以并行执行,即它们都必须在1秒内完成执行。
我正在用芹菜每1秒(24/7)定期执行这些任务。设计该应用程序的目的是,如果某个任务在距其先前执行未超过1秒的时间内未执行,则该任务将被删除。 (另一个任务task_remover
会定期检查并删除任务。)
我正在使用eventlet
和2个工作人员使用-c 20
。
因此,我从1秒内每秒执行20多个任务开始。这运行了一段时间。但是几个小时后,所有任务都被删除(不是一次删除)。
因此,我对上述服务器配置的疑问是:
eventlet
还是使用prefork
?--concurrency 20
可以吗?还是我应该选择--concurrency 2
,vCPU的数量为2?--concurrency ??
?目标:我需要这20多个运行24/7的任务,并且不应该给task_remover
(如上所述)删除这些任务的机会。