GitHub user Hariprasath-0018 added a comment to the discussion: Alerts and 
Reports Emails Not Sending

Hi @dosu Thanks for the detailed checklist! I went through each point and
here’s the status of my Superset setup:

*1. Config file placement:*
I don’t have a standard  superset_config_docker.py in my directory. The
files I have are:

       *   superset_config.py

   -

   superset_config_docker_light.py
   -

   superset_config_local.example
   -

   superset_test_config_light.py

*2. Feature flags:* ✅ Already done.

*3. Celery beat schedule:* ✅ Already done.

*4. Playwright/Chromium:*
Installed manually, but had to change .env to:

ENABLE_PLAYWRIGHT=trueINCLUDE_CHROMIUM=true

before it would recognize Playwright.

*5. SMTP config:* ✅ Already done.

*6. Database migrations:* ✅ Tables migrated successfully.

*7. Active schedules:* ✅ Schedules are active.

*8. Logs:*
Worker starts fine ***@***.*** ready) and connects to Redis. Scheduler logs
show startup, but there’s no evidence of tasks being sent.

*9. Execution logs:*
ReportExecutionLog table is empty.

Despite everything above being configured, emails are still not being sent.

On Thu, 22 Jan 2026 at 14:51, dosubot[bot] ***@***.***> wrote:

> *dosubot[bot]* left a comment (apache/superset#37357)
> <https://github.com/apache/superset/issues/37357#issuecomment-3783371569>
>
> Hi @Hariprasath-0018 <https://github.com/Hariprasath-0018>! I'm Dosu
> <https://go.dosu.dev/dosubot> and I’m helping the superset team.
>
> Here’s a focused checklist to help you pinpoint why alerts/reports aren’t
> triggering or sending emails in your Superset setup:
>
>    1.
>
>    *Config file placement:* In Docker Compose, Superset only loads custom
>    config from docker/pythonpath_dev/superset_config_docker.py. If you’re
>    editing another file (like superset_config.py elsewhere), your changes
>    (e.g., ALERT_REPORTS, ALERT_REPORTS_NOTIFICATION_DRY_RUN,
>    CeleryConfig) may not be picked up. Double-check the config is in the right
>    place and mounted correctly in your containers (source)
>    
> <https://github.com/apache/superset/discussions/35178#discussioncomment-14443403>
>    .
>    2.
>
>    *Feature flags:* Make sure ALERT_REPORTS is True and
>    ALERT_REPORTS_NOTIFICATION_DRY_RUN is False in the loaded config. If
>    dry-run is enabled (or not set in the right file), Superset will silently
>    skip sending emails (source)
>    <https://github.com/apache/superset/issues/33815>.
>    3.
>
>    *Celery beat schedule:* Your CeleryConfig must include a beat_schedule
>    with at least:
>
>    class CeleryConfig:
>        beat_schedule = {
>            "reports.scheduler": {
>                "task": "reports.scheduler",
>                "schedule": crontab(minute="*", hour="*"),
>            },
>            "reports.prune_log": {
>                "task": "reports.prune_log",
>                "schedule": crontab(minute=10, hour=0),
>            },
>        }
>
>    If this is missing or not loaded, scheduled reports won’t run (source)
>    <https://github.com/apache/superset/discussions/31647>.
>    4.
>
>    *Playwright/Chromium:* For screenshots, Playwright is now recommended.
>    You must:
>    - Install Playwright and Chromium in the worker container (pip install
>       playwright && playwright install chromium).
>       - Set SUPERSET_FEATURE_PLAYWRIGHT_REPORTS_AND_THUMBNAILS = True in
>       your config.
>       - In Docker, set ENABLE_PLAYWRIGHT=true and INCLUDE_CHROMIUM=true
>       in docker/.env, then rebuild your images.
>       - Test with playwright show-browser chromium and playwright
>       screenshot http://superset:8088/ /tmp/test.png inside the worker
>       container (source)
>       <https://github.com/apache/superset/discussions/35327>.
>    5.
>
>    *SMTP config:* Confirm all SMTP settings are correct in your config
>    file (SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD, SMTP_MAIL_FROM,
>    SMTP_STARTTLS, etc.). Manual Python script tests are good, but
>    Superset must use the same config (source)
>    <https://github.com/apache/superset/issues/33815>.
>    6.
>
>    *Database migrations:* Make sure all migrations are applied and the
>    following tables exist and are populated: report_schedule,
>    report_recipient, report_execution_log. If these are missing, reports
>    can’t be scheduled or executed.
>    7.
>
>    *Active schedules:* Check that your reports/alerts are active in the
>    DB (active = True in report_schedule). If there are no active
>    schedules, nothing will trigger.
>    8.
>
>    *Logs:* Look for reports.scheduler and reports.execute in your Celery
>    worker and beat logs. If you see the scheduler but not execute, the
>    scheduler isn’t queuing jobs. If you see neither, the beat schedule or
>    feature flag is likely not loaded.
>    9.
>
>    *Execution logs:* Check the ReportExecutionLog table in your metadata
>    DB for error messages or silent failures. This often reveals issues not
>    visible in the UI.
>
> If any step fails, focus on fixing that before moving on. If everything
> looks correct but nothing triggers, try:
>
>    - Forcing a config reload (rebuild/restart all containers).
>    - Verifying the config is loaded by running print(app.config) in a
>    Superset shell inside the container.
>    - Checking for any errors or warnings in the logs right after
>    container startup.
>
> Let me know what you find at each step—this will help narrow down the root
> cause!
>
> *To reply, just mention @dosu <https://go.dosu.dev/dosubot>.*
> ------------------------------
>
> How did I do? Good
> <https://app.dosu.dev/response-feedback/88bc3ee0-db43-4eeb-bc95-2541b6845527?feedback_type=great_response>
> | Irrelevant
> <https://app.dosu.dev/response-feedback/88bc3ee0-db43-4eeb-bc95-2541b6845527?feedback_type=irrelevant_answer>
> | Incorrect
> <https://app.dosu.dev/response-feedback/88bc3ee0-db43-4eeb-bc95-2541b6845527?feedback_type=incorrect_sources>
> | Verbose
> <https://app.dosu.dev/response-feedback/88bc3ee0-db43-4eeb-bc95-2541b6845527?feedback_type=too_verbose>
> | Hallucination
> <https://app.dosu.dev/response-feedback/88bc3ee0-db43-4eeb-bc95-2541b6845527?feedback_type=hallucination>
> | Report 🐛
> <https://app.dosu.dev/response-feedback/88bc3ee0-db43-4eeb-bc95-2541b6845527?feedback_type=bug_report>
> | Other
> <https://app.dosu.dev/response-feedback/88bc3ee0-db43-4eeb-bc95-2541b6845527?feedback_type=other>
>
> [image: Chat with Dosu]
> <https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github>
>  [image: Open in Cursor]
> <https://cursor.com/link/prompt?text=Here%E2%80%99s%20a%20focused%20checklist%20to%20help%20you%20pinpoint%20why%20alerts/reports%20aren%E2%80%99t%20triggering%20or%20sending%20emails%20in%20your%20Superset%20setup%3A%0A%0A1.%20%2A%2AConfig%20file%20placement%3A%2A%2A%20In%20Docker%20Compose%2C%20Superset%20only%20loads%20custom%20config%20from%20%60docker/pythonpath_dev/superset_config_docker.py%60.%20If%20you%E2%80%99re%20editing%20another%20file%20%28like%20%60superset_config.py%60%20elsewhere%29%2C%20your%20changes%20%28e.g.%2C%20%60ALERT_REPORTS%60%2C%20%60ALERT_REPORTS_NOTIFICATION_DRY_RUN%60%2C%20CeleryConfig%29%20may%20not%20be%20picked%20up.%20Double-check%20the%20config%20is%20in%20the%20right%20place%20and%20mounted%20correctly%20in%20your%20containers%20%5B%28source%29%5D%28https%3A//github.com/apache/superset/discussions/35178%23discussioncomment-14443403%29.%0A%0A2.%20%2A%2AFeature%20flags%3A%2A%2A%20Make%20sure%20%60ALERT_REPORTS%60%20is%20%60True%60%20and%20%60ALERT
 
_REPORTS_NOTIFICATION_DRY_RUN%60%20is%20%60False%60%20in%20the%20loaded%20config.%20If%20dry-run%20is%20enabled%20%28or%20not%20set%20in%20the%20right%20file%29%2C%20Superset%20will%20silently%20skip%20sending%20emails%20%5B%28source%29%5D%28https%3A//github.com/apache/superset/issues/33815%29.%0A%0A3.%20%2A%2ACelery%20beat%20schedule%3A%2A%2A%20Your%20%60CeleryConfig%60%20must%20include%20a%20%60beat_schedule%60%20with%20at%20least%3A%0A%20%20%20%60%60%60python%0A%20%20%20class%20CeleryConfig%3A%0A%20%20%20%20%20%20%20beat_schedule%20%3D%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%22reports.scheduler%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22task%22%3A%20%22reports.scheduler%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22schedule%22%3A%20crontab%28minute%3D%22%2A%22%2C%20hour%3D%22%2A%22%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%22reports.prune_log%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22task
 
%22%3A%20%22reports.prune_log%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22schedule%22%3A%20crontab%28minute%3D10%2C%20hour%3D0%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%7D%0A%20%20%20%60%60%60%0A%20%20%20If%20this%20is%20missing%20or%20not%20loaded%2C%20scheduled%20reports%20won%E2%80%99t%20run%20%5B%28source%29%5D%28https%3A//github.com/apache/superset/discussions/31647%29.%0A%0A4.%20%2A%2APlaywright/Chromium%3A%2A%2A%20For%20screenshots%2C%20Playwright%20is%20now%20recommended.%20You%20must%3A%0A%20%20%20-%20Install%20Playwright%20and%20Chromium%20in%20the%20worker%20container%20%28%60pip%20install%20playwright%20%26%26%20playwright%20install%20chromium%60%29.%0A%20%20%20-%20Set%20%60SUPERSET_FEATURE_PLAYWRIGHT_REPORTS_AND_THUMBNAILS%20%3D%20True%60%20in%20your%20config.%0A%20%20%20-%20In%20Docker%2C%20set%20%60ENABLE_PLAYWRIGHT%3Dtrue%60%20and%20%60INCLUDE_CHROMIUM%3Dtrue%60%20in%20%60docker/.env%60%2C%20then%20rebuild%20your%20images.%0A
 
%20%20%20-%20Test%20with%20%60playwright%20show-browser%20chromium%60%20and%20%60playwright%20screenshot%20http%3A//superset%3A8088/%20/tmp/test.png%60%20inside%20the%20worker%20container%20%5B%28source%29%5D%28https%3A//github.com/apache/superset/discussions/35327%29.%0A%0A5.%20%2A%2ASMTP%20config%3A%2A%2A%20Confirm%20all%20SMTP%20settings%20are%20correct%20in%20your%20config%20file%20%28%60SMTP_HOST%60%2C%20%60SMTP_PORT%60%2C%20%60SMTP_USER%60%2C%20%60SMTP_PASSWORD%60%2C%20%60SMTP_MAIL_FROM%60%2C%20%60SMTP_STARTTLS%60%2C%20etc.%29.%20Manual%20Python%20script%20tests%20are%20good%2C%20but%20Superset%20must%20use%20the%20same%20config%20%5B%28source%29%5D%28https%3A//github.com/apache/superset/issues/33815%29.%0A%0A6.%20%2A%2ADatabase%20migrations%3A%2A%2A%20Make%20sure%20all%20migrations%20are%20applied%20and%20the%20following%20tables%20exist%20and%20are%20populated%3A%20%60report_schedule%60%2C%20%60report_recipient%60%2C%20%60report_execution_log%60.%20If%20these%20are%20missing
 
%2C%20reports%20can%E2%80%99t%20be%20scheduled%20or%20executed.%0A%0A7.%20%2A%2AActive%20schedules%3A%2A%2A%20Check%20that%20your%20reports/alerts%20are%20active%20in%20the%20DB%20%28%60active%20%3D%20True%60%20in%20%60report_schedule%60%29.%20If%20there%20are%20no%20active%20schedules%2C%20nothing%20will%20trigger.%0A%0A8.%20%2A%2ALogs%3A%2A%2A%20Look%20for%20%60reports.scheduler%60%20and%20%60reports.execute%60%20in%20your%20Celery%20worker%20and%20beat%20logs.%20If%20you%20see%20the%20scheduler%20but%20not%20execute%2C%20the%20scheduler%20isn%E2%80%99t%20queuing%20jobs.%20If%20you%20see%20neither%2C%20the%20beat%20schedule%20or%20feature%20flag%20is%20likely%20not%20loaded.%0A%0A9.%20%2A%2AExecution%20logs%3A%2A%2A%20Check%20the%20%60ReportExecutionLog%60%20table%20in%20your%20metadata%20DB%20for%20error%20messages%20or%20silent%20failures.%20This%20often%20reveals%20issues%20not%20visible%20in%20the%20UI.%0A%0AIf%20any%20step%20fails%2C%20focus%20on%20fixing%20that%20before%20mo
 
ving%20on.%20If%20everything%20looks%20correct%20but%20nothing%20triggers%2C%20try%3A%0A-%20Forcing%20a%20config%20reload%20%28rebuild/restart%20all%20containers%29.%0A-%20Verifying%20the%20config%20is%20loaded%20by%20running%20%60print%28app.config%29%60%20in%20a%20Superset%20shell%20inside%20the%20container.%0A-%20Checking%20for%20any%20errors%20or%20warnings%20in%20the%20logs%20right%20after%20container%20startup.%0A%0ALet%20me%20know%20what%20you%20find%20at%20each%20step%E2%80%94this%20will%20help%20narrow%20down%20the%20root%20cause%21>
>  [image: Join Discord] <https://go.dosu.dev/discord-bot> [image: Share on
> X]
> <https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/issues/37357>
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/apache/superset/issues/37357#issuecomment-3783371569>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/BCNYORQ6YHVQFRCSWHN5NBT4ICJDBAVCNFSM6AAAAACSQNNHUKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTOOBTGM3TCNJWHE>
> .
> You are receiving this because you were mentioned.Message ID:
> ***@***.***>
>


GitHub link: 
https://github.com/apache/superset/discussions/37401#discussioncomment-15583319

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: 
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to