我已经阅读过AWS关于worker environments and cron的文档。就创建cron.yaml文件而言,这一切都是有意义的,但是对于与我的应用程序相关的实际设置,我有几个问题。对AWS来说还是很新的。
我在AWS EB中有3个环境-生产Web服务器,登台Web服务器和辅助环境。它们都在运行node.js,我将应用程序部署到生产和暂存环境。
我想设置一些cron作业,以在工作环境中执行定期任务,以在生产应用程序中执行操作,例如创建备份或发送用户电子邮件。
我的猜测是,我应该设置一个新的Express应用程序,并将其部署到接受/backup
或/sendEmail
之类的请求的工作环境中,然后从该工作环境应用程序中调用生产应用程序以实际进行操作工作。
我要这样做正确吗?还是那会给我的生产环境带来负担,而不是实际使用工人?
我在这方面的经验不足,很难提出正确的问题,因此我可能没有任何道理。感谢任何指导。
最佳答案
从AWS doc
如果您的应用程序执行需要很长时间才能完成的操作或工作流,则可以将这些任务卸载到专用的工作人员环境中。将Web应用程序前端与执行阻止操作的进程脱钩是确保您的应用程序在负载下保持响应状态的一种常用方法。
因此,如果您创建仅调用生产环境的代码,则不会受益。
关于javascript - worker 环境中适用于Node app的AWS Elastic Beanstalk cron,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55875880/