Files
Touchh/scheduler/management/commands/run_scheduler.py
2024-12-21 21:56:15 +09:00

28 lines
1.1 KiB
Python

import os
import django
import asyncio
from django.core.management.base import BaseCommand
from scheduler.tasks import setup_scheduler
class Command(BaseCommand):
help = "Запуск планировщика задач"
def handle(self, *args, **options):
# Устанавливаем Django окружение
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "touchh.settings")
django.setup()
# Основная асинхронная функция
async def start_scheduler():
scheduler = await setup_scheduler()
self.stdout.write(self.style.SUCCESS("Планировщик задач успешно запущен."))
try:
while True:
await asyncio.sleep(3600) # Бесконечный цикл для поддержания работы
except asyncio.CancelledError:
scheduler.shutdown()
# Запускаем планировщик в асинхронном режиме
asyncio.run(start_scheduler())