Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.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 cronjob_Python_Cron - Fatal编程技术网

全部删除后未删除python cronjob

全部删除后未删除python cronjob,python,cron,Python,Cron,TLDR:使用python时,crontab.remove\u all似乎可以工作,但是当我实例化一个新的crontab时,我可以看到remove\u all命令不起作用 长问题: 我试图在我的项目中使用cronjobs,但在此之前,我希望能够测试它们。因为我不想有无限多的作业在运行,我需要首先能够删除它们。然而,它并不像我想象的那样工作 这是我的密码: def测试\u理解\u cronjobs(self): """ 只是想了解cronjobs以及如何删除它们。 这个实验的重点是找到一种清洁一切

TLDR:使用python时,crontab.remove\u all似乎可以工作,但是当我实例化一个新的crontab时,我可以看到remove\u all命令不起作用

长问题: 我试图在我的项目中使用cronjobs,但在此之前,我希望能够测试它们。因为我不想有无限多的作业在运行,我需要首先能够删除它们。然而,它并不像我想象的那样工作

这是我的密码:

def测试\u理解\u cronjobs(self):
"""
只是想了解cronjobs以及如何删除它们。
这个实验的重点是找到一种清洁一切的方法
每次测试之间。
"""
#首先,我们实例化一个crontab对象。
crontab=crontab(user=“root”)
#然后确保没有其他测试作业在运行。
#我知道在测试开始时一切都应该是干净的,但这是为了证明
#我的环境很干净。
crontab.remove_all(comment=“test”)
#现在应该没有工作了。
self.assertEqual(len(crontab),0)
#我们创建了一个作业,其中包含一条注释,让我们知道这是一个测试。
# https://stackabuse.com/scheduling-jobs-with-python-crontab/
job=crontab.new(command=“ls-al/tmp”,comment=“test”)
作业。分钟。每(1)
crontab.write()
#在这一点上,我们应该只有一份工作。
self.assertEqual(len(crontab),1)
#让我们删除所有测试作业。
crontab.remove_all(comment=“test”)
#现在应该没有工作了。
self.assertEqual(len(crontab),0)
#为了确保这一点,让我们创建一个新的crontab实例并验证此信息。
clean_crontab=crontab(user=“root”)
self.assertEqual(len(clean_crontab),0)
#但我得到了:断言错误:1!=0,self.assertEqual(len(clean_crontab),0)

如果您对那里发生的事情有任何想法,我很想听听。

crontab
只是与系统的cron管理进行交互。如果您不
编写
更改,它们不会被提交,因此实例化一个新的
crontab
对象将读取现有内容,而不是“挂起”工作

#让我们删除所有测试作业。
crontab.remove_all(comment=“test”)
#现在应该没有工作了。
self.assertEqual(crontab.\uuu len\uuu(),0)

#
crontab
只是与系统的cron管理进行交互。如果您不
编写
更改,它们不会被提交,因此实例化一个新的
crontab
对象将读取现有内容,而不是“挂起”工作

#让我们删除所有测试作业。
crontab.remove_all(comment=“test”)
#现在应该没有工作了。
self.assertEqual(crontab.\uuu len\uuu(),0)

#(关于我为什么这样写的idk,你完全正确)非常感谢,因为在调用remove\u all后len(crontab)等于0,我认为没有必要调用crontab.write()(关于我为什么那样写的idk,你完全正确)非常感谢,因为len(crontab)在调用remove\u all后等于0,我认为没有必要调用crontab.write()
 self.assertEqual(crontab.__len__(), 0)