Hariprasath-0018 commented on issue #37357:
URL: https://github.com/apache/superset/issues/37357#issuecomment-3783679235
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%60AL
ERT_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%22t
ask%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%20miss
ing%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%2
0moving%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:
> ***@***.***>
>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]