28 lines
1.1 KiB
Python
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())
|