【发布时间】:2018-11-01 16:41:52
【问题描述】:
我想创建一个滚动到所有 10 分钟的作业。 我找到了一个很好的例子here。问题是程序在等待期间冻结,我的其他网址被阻止。 在我之后是因为 while True:
有没有办法在不解决这个问题的情况下做到这一点?
语音代码:
import schedule
import time
def job():
print("I'm working...")
schedule.every(10).minutes.do(job)
while True:
schedule.run_pending()
time.sleep(1)
**************************************************** ********************。
我找到了正确的方法。这是link: 为了使其正常工作,我删除了这部分:
# time.sleep(20)
# print('Checkpoint **************************')
# time.sleep(30)
# print('Bye -----------------------')
这是有效的代码:
import threading
class ThreadingExample(object):
""" Threading example class
The run() method will be started and it will run in the background
until the application exits.
"""
def __init__(self, interval=10):
""" Constructor
:type interval: int
:param interval: Check interval, in seconds
"""
self.interval = interval
thread = threading.Thread(target=self.run, args=())
thread.daemon = True # Daemonize thread
thread.start() # Start the execution
def run(self):
""" Method that runs forever """
while True:
# Do something
print('Doing something imporant in the background', self.interval)
pk_info_semaine = job_temp.objects.all()
for a in pk_info_semaine:
print('num_semaine:',a.num_semaine,'user_id:',a.user_id)
time.sleep(self.interval)
example = ThreadingExample()
谢谢大家,感谢作者:Paris Nakita Kejser Here
【问题讨论】:
-
也许schedule FAQ 可以帮助你
-
根据您所做的事情,您可能想查看其他使用 django 构建的用于执行计划任务的框架...看起来
schedule不是其中之一 -
这个问题的答案很好:stackoverflow.com/questions/573618/…
标签: python django runtime schedule