Django q в python везде игнорирует все функции внутри него, но закончил без проблем, просто синхронизировав: True - режим
У меня крайне странное поведение с моими django q taks. Когда я запускаю задачу, все действия внутри функции, обёрнутой в async_task - обёртку, будут игнорироваться, НО только при установке "sync": False / по умолчанию. Если я устанавливаю sync: True все работает отлично (кроме синхронизации).
Вот мой базовый конфиг:
Q_CLUSTER = { 'name': 'DjangoRedis', 'workers': 1, # один рабочий будет обрабатываться по времени 'timeout': 1200, 'retry': 1400, #'recycle': 500, # сколько задач должен выполнить каждый рабочий перед перерывом. # "cpu_affinity": 1, требуется psutil "max_attempts": 4, "save_limit": 0, "guard_cycle": 1, #"sync": False, #"compress": True, #"catch_up": True, # если sys break catched tasks get restarted -> default true 'queue_limit': 70, 'bulk': 5, "poll": 0.2, # Как часто проверять наличие новых задач. 'redis': { 'host': REDIS_PUBLIC_ENDPOINT, # 'port': REDIS_PORT, 'db': 0, 'пароль': REDIS_DB_PASSWORD, #'socket_timeout': None, } }
Я также подготовил gist-файл, в котором показан упрощенный рабочий процесс: https://gist.github.com/wired87/5e64fc79d3aa84cdad87ef7803f508ce
Но я думаю, что поведение должно быть сформировано где-то еще.
- поиграйте с полями dj q
- проверил все задачи djangos admin terminal -> задача все время успешна