如何在 Hasura 上创建、部署、运行和管理 Cron 作业?
>Hasura 提出了两种部署和运行 Cron 作业的方法。
Cron 微服务
Hasura 已经有一个微服务来运行 Cron 作业。
如果您已经运行了 Hasura 项目:
hasura microservice create mycron --template=python-cron
将mycron
更改为要命名微服务的任何名称。这将创建一个旨在运行 Cron 作业的自定义 Python 微服务。(按照 CLI 提示的进一步说明进行操作hasura
)
要在 Hasura 上部署它,git 提交并推送到集群的远程。
$ git add .
$ git commit -m "Add cron job"
$ git push hasura master
要详细了解如何自定义此微服务,可以阅读文档。
Kubernetes Cron jobs
由于 Hasura 运行在 Kubernetes 上,而 Kubernetes (>= v1.8) 已经提供了 Cron Jobs 作为第一类资源,因此建议尽可能使用 Kubernetes Cron 作业。
如果你安装了kubectl
,你可以通过运行以下命令来检查你的 Kubernetes 版本:kubectl version
。在输出中,"服务器版本"显示 Kubernetes 集群的版本。如果您运行的是 Kubernetes>= v1.8,我们建议您使用 Kubernetes Cron 作业。
使用 Kubernetes Cron 作业时,您可以在 Hasura 项目中对 cron 作业规范进行版本控制,并使用kubectl
工具来创建和管理它们。
即将发布的 Hasura 版本 1.3 将支持"cron 触发器"。测试版已经发布