Начало потока мониторинга на django - PullRequest
0 голосов
/ 15 апреля 2020

Позвольте мне дать немного контекста.

В настоящее время я создаю простую веб-страницу, на которой, заполнив форму и нажав «Отправить», запускается реконекция целевого веб-сайта.

Идея состоит в том, чтобы 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 нить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...