现在我有一个在ECS上运行的网络应用程序,并且有一个非常复杂的运行后台作业的方法:
我有一个轮询SQS队列的任务服务。当它读取消息时,它会尝试将请求的任务放在群集上。如果由于缺少可用资源而失败,则服务会在再次尝试之前退出/休眠一段时间。
我想转而采取以下措施:
运行多任务工作服务。每个任务定期轮询队列。收到消息后,它会自行运行作业(而不是尝试安排新任务),然后退出。然后,AWS服务调度程序将使用新任务补充服务。这类似于gunicorn的prefork模型。
我唯一担心的是,我可能正在滥用服务的概念 - 计划好的和频繁的服务任务退出得到很好的支持,或者服务任务只有在出现错误时才会退出
由于