Я хотел бы создать работу, которая распространяется на все 10 минут.
Я нахожу хороший пример здесь . Проблема в том, что программа зависает во время ожидания, а другие мои URL заблокированы.
после меня это из-за в то время как 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)
*********************************************** ********************.
Я нашел правильный способ сделать это. Вот ссылка :
Чтобы это работало хорошо, я удалил эту часть:
# 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()
Спасибо всем и спасибо автору: Пэрис Накита Кейсер Здесь