Я хочу выполнить некоторый код при запуске сервера Django, но я хочу, чтобы он запускался только один раз. В настоящее время, когда я запускаю сервер, он выполняется дважды. Документация говорит, что это может произойти и:
вы должны поместить флаг на своих классах AppConfig, чтобы предотвратить повторный запуск код, который должен выполняться ровно один раз.
Любая идея, как этого достичь? Заявление о печати ниже выполняется еще дважды.
from django.apps import AppConfig
import app.mqtt
from apscheduler.schedulers.background import BackgroundScheduler
class MyAppConfig(AppConfig):
name = 'app'
verbose_name = "HomeIoT"
run_already = False
def ready(self):
if MyAppConfig.run_already: return
MyAppConfig.run_already = True
print("Hello")