apache/superset · error · ReportScheduleCeleryNotConfiguredError

Report Schedule execution requires a Celery backend to be co

Error message

Report Schedule execution requires a Celery backend to be configured. Please configure a Celery broker (Redis or RabbitMQ) and worker processes.

What it means

Error "Report Schedule execution requires a Celery backend to be configured. Please configure a Celery broker (Redis or RabbitMQ) and worker processes." thrown in apache/superset.

Source

Thrown at superset/commands/report/execute_now.py:104

            # Set eta to now so the downstream task receives a valid scheduled_dttm.
            async_options: dict[str, Any] = {
                "task_id": execution_id,
                "eta": datetime.now(tz=timezone.utc),
            }

            async_options.update(
                get_report_task_timeout_options(
                    is_report=self._model.type == ReportScheduleType.REPORT,
                    working_timeout=self._model.working_timeout,
                    config=current_app.config,
                )
            )

            try:
                execute.apply_async((self._model.id,), **async_options)
            except KombuOperationalError as celery_ex:
                logger.error("Celery backend not configured: %s", str(celery_ex))
                raise ReportScheduleCeleryNotConfiguredError() from celery_ex
            except Exception as celery_ex:
                logger.error("Celery task execution failed: %s", str(celery_ex))
                raise ReportScheduleExecuteNowFailedError() from celery_ex

            return execution_id

        except CommandException:
            raise
        except Exception as ex:
            logger.exception(
                "Unexpected error executing report schedule %d", self._model_id
            )
            raise ReportScheduleExecuteNowFailedError() from ex

    def validate(self) -> None:
        """Validate the report schedule exists and the user has permission to
        execute."""
        self._model = ReportScheduleDAO.find_by_id(self._model_id)

View on GitHub (pinned to f4587218dd)

Solutions

  1. Configure a Celery broker (Redis or RabbitMQ) and run Celery worker processes, then retry.
  2. Set CELERY_CONFIG/RESULTS_BACKEND appropriately in superset_config.py.

When it happens

Trigger: Execute-now is requested but no Celery backend is configured.

Common situations: Triggering 'execute now' without a Celery broker/worker configured in the deployment.


AI-assisted analysis of apache/superset@f4587218dd (2026-08-14). Data as JSON: /api/errors/b16a5f31bcf8a6f6. Report an issue: GitHub.