c притивным API - старт, стоп, статус. Собственно старт - запускает длительный процесс, стоп его прерывает, статус - показывает статус.
Как правильно из того длительного процесса который запустился менять статус (значение которого глобальное)? Это нужно для ситуаций, например, когда этот процесс упал или закончился.
Сейчас процесс запускается так:
threading.Thread(target=longFunction).start()
Сам думал про разные варианты:
- прокидываеть self в функцию? (но не уверен что это правильно и вобще будет работать)
- замутить что то типо эвентов, чтобы та часть которая с flask - подписывалась и слушала эвенты, и при наступлении того или иного ивента - вызывать уже функцию которая поменяет статус
Как правильно такое дело реализовывать?
правильно будет взять любую очередь и отдельно живущий воркер
Обсуждают сегодня