telegram_bots/bots/management/commands/periodic_bots.py

25 lines
671 B
Python

import traceback
from time import sleep
import sentry_sdk
from django.core.management import BaseCommand
from bots.models import TelegramBot
class Command(BaseCommand):
def handle(self, *args, **options):
while True:
for bot_instance in TelegramBot.objects.all():
try:
bot_instance.run_periodic_task()
except KeyboardInterrupt:
return
except Exception as e:
sentry_sdk.capture_exception(e)
traceback.print_exc()
try:
sleep(5)
except KeyboardInterrupt:
return