Cron 运行计划作业的最佳方式是什么
我有一个包含两部分的项目:第一部分是FlaskAPI,第二部分是应该安排的脚本。 Flask应用程序通过在Openshift中运行的docker映像提供 我的问题是第二个脚本应该安排在哪里。我可以访问Gitlab CI/CD,但这并不是它真正的目的。 构建docker映像并在Openshift上运行它也是不可能的,因为如果POD超过1,它将运行比需要更多的时间。 我考虑的唯一选择就是使用带有cron的常规服务器 你有更好的解决办法吗Cron 运行计划作业的最佳方式是什么,cron,jobs,Cron,Jobs,我有一个包含两部分的项目:第一部分是FlaskAPI,第二部分是应该安排的脚本。 Flask应用程序通过在Openshift中运行的docker映像提供 我的问题是第二个脚本应该安排在哪里。我可以访问Gitlab CI/CD,但这并不是它真正的目的。 构建docker映像并在Openshift上运行它也是不可能的,因为如果POD超过1,它将运行比需要更多的时间。 我考虑的唯一选择就是使用带有cron的常规服务器 你有更好的解决办法吗 谢谢你的问题有几个方面,有几种方法可以解决,我会给你一些从哪里
谢谢你的问题有几个方面,有几种方法可以解决,我会给你一些从哪里开始的简要信息 肾盂道 您可以部署芹菜工人,该工人将处理计划的作业。您可以查看芹菜文档,了解如何在python中进行计算: 您可能已经掌握了如何从扩展部署以支持芹菜,这显示了芹菜的完整部署:
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: celery-worker
labels:
deployment: celery-worker
spec:
replicas: 1
selector:
matchLabels:
pod: celery-worker
template:
metadata:
labels:
pod: celery-worker
spec:
containers:
- name: celery-worker
image: backend:11
command: ["celery", "worker", "--app=backend.celery_app:app", "--loglevel=info"]
env:
- name: DJANGO_SETTINGS_MODULE
value: 'backend.settings.minikube'
- name: SECRET_KEY
value: "my-secret-key"
- name: POSTGRES_NAME
value: postgres
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: postgres-credentials
key: user
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgres-credentials
key: password
库伯内特斯路
在Kubernetes(Openshift是Kubernetes的一个发行版)中,您可以创建一个cronjob,它将按照计划执行特定的任务,类似于以下内容:
kubectl run --generator=run-pod/v1 hello --schedule="*/1 * * * *" --restart=OnFailure --image=busybox -- /bin/sh -c "date; echo Hello from the Kubernetes cluster"
我把它拔了出来
云道
您还可以使用无服务器平台(例如AWS Lambda)执行计划作业。AWS Lambda的酷之处在于,它们的免费层对于您的用例来说已经足够了
见美国焊接学会