Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Crontab作业未启动。。。思想?_Python_Linux_Ubuntu_Cron_Crontab - Fatal编程技术网

Python Crontab作业未启动。。。思想?

Python Crontab作业未启动。。。思想?,python,linux,ubuntu,cron,crontab,Python,Linux,Ubuntu,Cron,Crontab,感谢您帮助我设置cron工作,crontab对我来说真的是一座金矿 不幸的是,我有一个问题,不知道这到底是什么。。。基本上,一个作业不会启动,而相邻的作业会启动。我会解释的 这是我的crontabs作业列表: */10****python/webapps/foo/manage.py获取文章 */10****python/webapps/bar/manage.py获取书籍 我将它们写在文件中,并使用crontab/path/to/file存储它们 通过crontab-l检查,作业就在那里 奇怪的是

感谢您帮助我设置cron工作,crontab对我来说真的是一座金矿

不幸的是,我有一个问题,不知道这到底是什么。。。基本上,一个作业不会启动,而相邻的作业会启动。我会解释的

这是我的crontabs作业列表:

*/10****python/webapps/foo/manage.py获取文章

*/10****python/webapps/bar/manage.py获取书籍

我将它们写在文件中,并使用crontab/path/to/file存储它们

通过crontab-l检查,作业就在那里

奇怪的是,通常每10分钟执行一次。。。但另一个没有。我试着手动输入命令,它工作正常,没有问题

有人有什么建议吗

非常感谢你们的帮助,谢谢你们

更新:

我在系统日志文件中找到了以下内容:

3月5日02:50:01 localhost CRON[21652]:root CMD python/webapps/foo/manage.py fetch\u books

这是否意味着crontab认为这项工作很好

谢谢你们的回复,伙计们

修好了!非常感谢大家


问题是脚本悄悄地失败了,我相信这是由于PYTHON_路径的改变,因为脚本是从哪里调用的。。。我完全肯定。

从crontab主页:

虫子 尽管cron要求crontab中的每个条目以 换行符, crontab命令和cron守护进程都不会检测到这一点 错误相反 crontab将显示为正常加载。然而,该命令 永远不会跑。 最好的选择是确保crontab在 结束


我的重点

从crontab手册页:

虫子 尽管cron要求crontab中的每个条目以 换行符, crontab命令和cron守护进程都不会检测到这一点 错误相反 crontab将显示为正常加载。然而,该命令 永远不会跑。 最好的选择是确保crontab在 结束


我的重点

Cron总是在与您所想的不同的环境中运行:-

我总是将我的工作设置为:

*/10 * * * * ( date ; python /webapps/foo/manage.py fetch_articles ) >>/tmp/fetch.out 2>&1
以确保我可以查看记录的内容

这将把您的问题缩小到以下任一方面:

cron,如果临时文件没有出现;或 您的脚本(如果确实出现)。 在后一种情况下,希望有一些输出可以调试。如果没有,则将输出放在那里

一种方法是:

set -x
在脚本的顶部,这将导致在执行之前输出所有行。我的所有脚本都倾向于开始:

#!/bin/bash
#set -x

因此,我可以在调试时取消对第二行的注释。

Cron总是在与您认为的不同的环境中运行:-

我总是将我的工作设置为:

*/10 * * * * ( date ; python /webapps/foo/manage.py fetch_articles ) >>/tmp/fetch.out 2>&1
以确保我可以查看记录的内容

这将把您的问题缩小到以下任一方面:

cron,如果临时文件没有出现;或 您的脚本(如果确实出现)。 在后一种情况下,希望有一些输出可以调试。如果没有,则将输出放在那里

一种方法是:

set -x
在脚本的顶部,这将导致在执行之前输出所有行。我的所有脚本都倾向于开始:

#!/bin/bash
#set -x

因此,我可以在调试时取消对第二行的注释。

我认为~unutbu的答案可能是正确的,如果第二个作业没有运行


然而,另一件需要检查的事情是/webapps/bar/manage.py是否需要独占访问任何资源,例如网络套接字/tempfiles等。由于您同时启动两个进程,可能会触发竞争条件。

我认为~unutbu的答案可能是正确的,如果它是第二个未运行的作业


但是,需要检查的另一件事是/webapps/bar/manage.py是否需要独占访问任何资源,例如网络套接字/tempfiles等。由于您同时启动两个进程,您可能触发了竞争条件。

消息是否告诉您有关错误的任何信息?系统错误日志中是否有任何信息?如果您将这两个作业合并到一个shell脚本中,会有什么不同吗?我一直在syslog中,没有错误。。。我会把它添加到帖子中。谢谢你的邀请!是否总是第一个运行,第二个不运行?是否可以包括如何解决PYTHON_路径错误?我也遇到了同样的问题,我不知道该怎么办。消息是否告诉您有关错误的任何信息?系统错误日志中的任何信息?如果您将这两个作业合并到一个shell脚本中,会有什么不同吗?我一直在syslog中,没有错误。。。我会把它添加到帖子中。谢谢你的邀请!是否总是第一个运行,第二个不运行?是否可以包括如何解决PYTHON_路径错误?我也有同样的问题 我不知道该怎么办。@RadiantHex如果crontab-l导致您的提示与上一个作业位于同一行,则情况就是这样。@RadiantHex如果crontab-l导致您的提示与上一个作业位于同一行,则情况就是这样。