我最近将Symfony项目从手动缩放EC2环境移至Elastic Beanstalk,并且我偶然发现了一个问题。Amazon ElasticBeanstalk中的单实例cronjob
我有一个Cron作业,抓住了一堆已满的订阅,并尝试创建订单并对它们进行收费,因此这项工作只能在单个服务器上运行,这一点非常重要,因为它在批处理中抓取它们,如果有重复的Cron正在运行,它将导致相同订阅的多项费用。
在手动扩展环境中,我只有一台主服务器,它有一个crontab并运行了子服务器,但在这里看起来并不可行。
有关如何在没有主服务器的自动扩展环境中进行设置的任何建议?
我已经看过JMSJobQueueBundle,但它似乎也依赖于只运行crontab的单个实例的主管,这将在自动扩展环境中重复。
我最好是有一个外部服务器每隔X分钟对我的API进行ping操作,并在单个实例上启动它的ping工作?这似乎引发了另一个失败点。
我将试图建立一个工人。 –