首页 > 解决方案 > Cron 作业不会并行执行

问题描述

我有 3 个 python 脚本,它们安排在与以下相同的 crontab 中:

# Script 1
0 20 * * 1-5 cd path/to/script && /usr/bin/python3.8 -W ignore script1.py >> file1.out
# Script 2
0 * * * * cd path/to/script && /usr/bin/python3.8 -W ignore script2.py >> file2.out
# Script 3
0 4 1-31 * * cd path/to/script && /usr/bin/python3.8 -W ignore script3.py >> file3.out

脚本 3 似乎没有被执行——因为没有 file3.out。我面临与计划同时运行的 crons 相同的问题:

# Script 1
0 * * * * cd path/to/script && /usr/bin/python3.8 -W ignore script1.py >> file1.out
# Script 2
0 * * * * cd path/to/script && /usr/bin/python3.8 -W ignore script2.py >> file2.out
# Script 3
0 * * * * cd path/to/script && /usr/bin/python3.8 -W ignore script3.py >> file3.out

在这种情况下,只有 1 和 3 被执行。我认为你可以运行多少个 crons 是有限制的,但事实并非如此。

这些脚本部署在 EC2 上,我在其中检查了 CloudWatch 并没有发现 CPU 使用率出现峰值。我所看到的是网络输入和网络数据包输入的一个大峰值 - 所有脚本都从 API 获取数据,因此我认为是峰值。

我的问题是,只有一些脚本被执行会怎样?我想这是两者之一:

任何想法将不胜感激!

标签: pythonamazon-ec2cron

解决方案


推荐阅读