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>
   
   [![Chat with 
Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github)&nbsp;[![Open
 in 
Cursor](https://dosu.dev/dosu-in-cursor.svg)](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)&nbsp;[![Join
 
Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share
 on 
X](https://img.shields.io/badge/X-share-black)](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]

Reply via email to