dosubot[bot] commented on issue #37357: URL: https://github.com/apache/superset/issues/37357#issuecomment-3783371569
<!-- Greeting --> Hi @Hariprasath-0018! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the superset team. <!-- Answer --> 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: ```python 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! <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>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)</sup> [](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github) [](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%20 True%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%20migrati ons%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%20metad ata%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%20moving%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) [](https://go.dosu.dev/discord-bot) [](https://twitter.com/intent/tweet?text=%40dosu_ai %20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/issues/37357) -- 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]
