Ros*_*007 5 cron celery docker dockerfile docker-compose
我正在使用 docker-compose。我有一个网络和一个工人服务。
version: '3'
services:
web:
build: .
environment:
- "*"
links:
- redis
- memcached
ports:
- "80:8001"
- "443:8001"
worker:
build: .
command: ["/bin/bash", "/home/django/start_celery.sh"]
environment:
- "*"
links:
- redis
- memcached
memcached:
image: memcached
ports:
- "11211:11211"
redis:
image: redis
ports:
- "6379:6379"
Run Code Online (Sandbox Code Playgroud)
我需要在工作服务上运行 crons(计划任务)。
而且我不想在 Dockerfile 中对 crontab 进行硬编码,因为我对这两个服务使用相同的 dockerfile。
那么最好的方法是什么?
小智 5
您可以尝试以下开源工具在 docker-compose 中调度 cron。
https://github.com/mcuadros/ofelia
例如:
[job-service-run "service-executed-on-new-container"]
schedule = 0,20,40 * * * *
image = ubuntu
network = swarm_network
command = touch /tmp/example
Run Code Online (Sandbox Code Playgroud)
如果您计划在任何云平台中使用该映像。
对于例如。
AWS:您还可以查看 ECS 调度程序
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduled_tasks.html
GCP:Kubernetes 引擎 CronScheduler
https://cloud.google.com/kubernetes-engine/docs/how-to/cronjobs
| 归档时间: |
|
| 查看次数: |
5928 次 |
| 最近记录: |