我已经用下面的语法安排了一个cron作业,它运行得很好。代码在下面。但我需要添加一个功能,如果工作失败,4小时后重试笔记本。
我在谷歌没有找到解决方案。有人能帮我看看吗?
非常感谢。
PATH=/opt/tljh/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
SHELL=/bin/bash
## test
05 23 * * * papermill ~/a.ipynb ~/a_output.ipynb
05 23 * * * papermill ~/b.ipynb ~/b_output.ipynb发布于 2022-06-24 03:44:13
克伦根本就不支持这样的东西。您可以将脚本包装到shell脚本中,并添加一个cron作业,以在4小时内进行检查:
(假设您的程序使用错误代码)
PATH=/opt/tljh/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
SHELL=/bin/bash
## test
05 23 * * * if papermill ~/a.ipynb ~/a_output.ipynb; then rm -f /tmp/job_previously_failed; else touch /tmp/job_previously_failed; fi
05 03 * * * if [ -f /tmp/job_previously_failed ]; then papermill ~/a.ipynb ~/a_output.ipynb; rm -f /tmp/job_previously_failed; fi
05 23 * * * if ~/b.ipynb ~/b_output.ipynb; then rm -f /tmp/job_previously_failed; else touch /tmp/job_previously_failed; fi
05 03 * * * if [ -f /tmp/job_previously_failed ]; then ~/b.ipynb ~/b_output.ipynb; rm -f /tmp/job_previously_failed; fi强烈建议您将这些文件移到单独的脚本文件中,而不是在cron中写入所有这些内联文件。很快就会乱糟糟的。
https://stackoverflow.com/questions/72738726
复制相似问题