Позвольте мне дать немного контекста.
В настоящее время я создаю простую веб-страницу, на которой, заполнив форму и нажав «Отправить», запускается реконекция целевого веб-сайта.
Идея состоит в том, чтобы monitor
это цели, которые я уже отсканировал. Моя идея состояла в том, чтобы сделать несколько запросов к моей базе данных и проверить, какие цели не были найдены за последнюю неделю (if target not scanned in past week, run scan again
)
Для этого я пытался запустить поток, который раз в день проверяет, какие цели нужно сканировать снова.
Проблема в том, что для этого мне нужно time.sleep
мою ветку в течение 24 часов, это не должно быть проблемой, но, похоже, runserver
задерживается на это время ожидания.
Вот мой monitor
метод, который будет назначен потоку
def start_monitor():
while 1:
today = dt.datetime.now()
targets = mongo.get_targets()
for target in targets:
target_last_date = mongo.get_target_last_scan(target)
date_diff = target_last_date - today
if date_diff.days > 7:
print('Running recon again')
else:
print('Not yet')
wait_to_tomorrow()
return
Поток начинается с
monitor_thread = threading.Thread(name='Monitor Process', target=monitor.start_monitor())
monitor_thread.setDaemon(True)
monitor_thread.start()
Где мне start
нить?