Crontab错误:Windows无法找到指定的文件

时间:2013-07-25 07:26:53

标签: python cron cron-task

我正在尝试使用此示例脚本在python中测试crontab:

from crontab import CronTab

tab = CronTab(user='www',fake_tab='True')
cmd = '/var/www/pjr-env/bin/python /var/www/PRJ/job.py'
cron_job = tab.new(cmd)
cron_job.minute().every(5)
#writes content to crontab
tab.write()
print tab.render()

返回错误'fake_tab'未定义。如果我删除此参数并调用函数
像这样:CronTab(user ='www')。我返回以下错误:

Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
tab = CronTab(user='www')
File "C:\Python27\lib\site-packages\crontab.py", line 160, in __init__
self.read(tabfile)
File "C:\Python27\lib\site-packages\crontab.py", line 183, in read
p = sp.Popen(self._read_execute(), stdout=sp.PIPE)
File "C:\Python27\lib\subprocess.py", line 711, in __init__
errread, errwrite)
File "C:\Python27\lib\subprocess.py", line 948, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified

有人知道吗,我错过了什么?

3 个答案:

答案 0 :(得分:1)

我认为Crontab是Unix / Linux的概念。不确定它是否可以在Windows下工作。这个Page表示“Windows支持仅适用于手动crontabs”。不知道他的意思是什么。

答案 1 :(得分:0)

作为python-crontab的作者,我可以报告文档已更新。鉴于人们对手册意味着什么感到困惑,这显然是无效的。

如果你这样做:

mem_cron = CronTab(tab="""
  * * * * * command # comment
""")

你应该只有一个内存crontab。如果您将文件作为crontab执行,则相同:

file_cron = CronTab(tabfile='filename.tab')

我一直在寻求改进代码和文档,所以请给我发电子邮件。

答案 2 :(得分:0)

我发现让{this.props.arr.result ? JSON.stringify(this.props.arr.result.id) : null} 找到工作的最简单方法是:

crontab(我正在使用django)中我定义了这些变量:

settings.py

注意斜线。它必须向右倾斜,否则会导致语法错误。

通过这种方式,CRONTAB_EXECUTABLE='C:/Users/myuser/myvirtualenv/Lib/site-packages/django_crontab/crontab.py' CRONTAB_DJANGO_PROJECT_NAME='myproject' CRONTAB_DJANGO_MANAGE_PATH='C:/Users/myuser/myvirtualenv/myproject/manage.py' CRONTAB_PYTHON_EXECUTABLE='C:/Users/myuser/AppData/Local/Programs/Python/Python36-32/pythonw.exe' 将找到您正在尝试执行的作业或任何内容。就我而言,我在尝试:

crontab