systemd 与 gitlab CICD

kee*_*mar 5 systemd gitlab-ci cicd

这可能是一个疯狂的问题 - 我想托管一个算法交易系统,它将在早上 9 点触发并运行到下午 3 点。我正在考虑使用 systemd 托管作为服务或使用 gitlab CICD 来触发此操作。(我可以随时观看这里的活动)。

什么是最好的选择?CICD 适合全天运行吗?

Pat*_*ick 1

我知道你的赏金是说你正在寻找一个规范的答案,但我认为这个问题并不存在这样的答案,因为根据你的用例没有真正正确的答案。

您绝对可以创建 CI/CD 作业并将超时设置为 6 小时,但我认为这并不是您真正想要做的。听起来您本质上只是想要一个每天启动并处理您的交易的后台工作。如果作业中出现故障,您可能还需要通知,或者您可能希望它自动重新启动作业。

Systemd 将是实现此目的的最简单方法,并且KISS始终是设计解决方案时需要遵循的良好原则。使用 GitLab 需要您托管 GitLab 服务本身,以及每天执行作业的运行程序,而 Systemd 仅需要您注册服务。

如果您扩展到尝试同时运行许多此类作业的程度,那么使用工作流管理器(例如 Apache Airflow(或 AWS 步骤函数等))可能会更好。

因此总的来说,我不推荐使用 CI/CD 解决方案来运行有效的作业服务器。在规模较小时从 Systemd 开始,然后在需要扩展时迁移到真正的工作流程解决方案。