这可能是个疯狂的问题 - 我想托管一个算法交易系统,它将在早上9:00启动并运行到下午3:00。我正在考虑使用systemd作为服务进行托管,或者使用gitlab cicd触发此操作。 (我可以随时在此处监视活动)。哪种选择最好? cicd在整天运行方面可靠吗?
我知道你的悬赏要求寻找一个规范答案,但我认为这个问题没有一个真正的正确答案,因为它基于你的用例。你可以创建一个CI/CD作业并将超时设置为6小时,但我不认为这是你想做的。听起来你只是想要一个每天启动并处理交易的后台作业。你可能还想要在作业失败时得到通知,或者希望它自动重新启动作业。使用Systemd是实现此目的最简单的方法,并且在设计解决方案时遵循KISS原则总是一个好习惯。使用GitLab需要你托管GitLab服务本身以及每天执行作业的runner,而Systemd只需要你注册服务。如果你扩展到同时运行许多这样的作业的程度,你仍然可能会更好地使用工作流管理器,如Apache Airflow(或AWS步骤函数等)。总的来说,我不建议使用CI/CD解决方案来运行实际上是作业服务器的任务。在小规模时先使用Systemd,然后在需要扩展时迁移到真正的工作流解决方案。