merge
This commit is contained in:
0
scheduler/management/commands/__init__.py
Normal file
0
scheduler/management/commands/__init__.py
Normal file
27
scheduler/management/commands/run_scheduler.py
Normal file
27
scheduler/management/commands/run_scheduler.py
Normal file
@@ -0,0 +1,27 @@
|
||||
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())
|
||||
Reference in New Issue
Block a user