Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.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 sched执行延迟的原因_Python_Scheduled Tasks_Virtualization - Fatal编程技术网

Python sched执行延迟的原因

Python sched执行延迟的原因,python,scheduled-tasks,virtualization,Python,Scheduled Tasks,Virtualization,我们使用Python2.6中的模块每60秒运行一次函数。每次调用在执行后都会发出sched.enter()函数,延迟为60,优先级为1。这一直运作良好 但是,我们发现了一种情况,即sched函数的下一次执行在几分钟内没有发生,甚至在5-6分钟之后也没有发生。这已在虚拟机上观察到 这可能是什么原因造成的?是否有任何变通方法来确保任务定期执行?在调用sched.enter之前,处理需要多长时间?我建议监控这一点,并在sched.enter的delay参数中考虑处理时间 虚拟机和虚拟机主机的负载也可能

我们使用Python2.6中的模块每60秒运行一次函数。每次调用在执行后都会发出sched.enter()函数,延迟为60,优先级为1。这一直运作良好

但是,我们发现了一种情况,即sched函数的下一次执行在几分钟内没有发生,甚至在5-6分钟之后也没有发生。这已在虚拟机上观察到


这可能是什么原因造成的?是否有任何变通方法来确保任务定期执行?

在调用
sched.enter
之前,处理需要多长时间?我建议监控这一点,并在
sched.enter的
delay
参数中考虑处理时间


虚拟机和虚拟机主机的负载也可能是重要因素。我见过一些应用程序由于VM主机负载过高和交换而导致性能下降

您确定时间在您的虚拟化机箱中持续运行吗?我在虚拟机上遇到了一些问题,时间运行得比它应该的慢(比如虚拟盒中的1分钟时间是实时的几分钟)。处理通常需要几秒钟,所以触发的不是任务,延迟肯定是在sched.enter()之后获取调用。是否尝试使用print语句检测sched.py以查看花费的时间?我认为我无法真正做到这一点,因为这在生产服务器上看到,并且可能会干扰sched的其他使用。然后尝试获取VM和基础主机的负载数字。