Код IT Загрузка примера кода…

Python main.py
from celery import Celery

app = Celery('tasks', broker='redis://localhost:6379/0')

@app.task(bind=True, max_retries=3, time_limit=300)
def generate_report(self, user_id, parameters):
    """Генерация отчёта в фоновом режиме."""
    try:
        # Долгая операция выполняется вне основного потока
        data = fetch_large_dataset(user_id, parameters)
        report = process_data(data)
        store_report(user_id, report)
        notify_user(user_id, "Отчёт готов")
    except Exception as exc:
        # Автоматический перезапуск при сбоях
        raise self.retry(exc=exc, countdown=60)
from celery import Celery

app = Celery('tasks', broker='redis://localhost:6379/0')

@app.task(bind=True, max_retries=3, time_limit=300)
def generate_report(self, user_id, parameters):
    """Генерация отчёта в фоновом режиме."""
    try:
        # Долгая операция выполняется вне основного потока
        data = fetch_large_dataset(user_id, parameters)
        report = process_data(data)
        store_report(user_id, report)
        notify_user(user_id, "Отчёт готов")
    except Exception as exc:
        # Автоматический перезапуск при сбоях
        raise self.retry(exc=exc, countdown=60)