This PR adopts and improves PR #20387 by @ensky to fix cache warmup issues
where the task was unable to authenticate properly.
Changes:
- Use WebDriver (Selenium) to render dashboards for cache warmup instead of
API calls, ensuring proper authentication and accurate cache population
- Add SUPERSET_CACHE_WARMUP_USER config for specifying the warmup user
- Refine WebDriverSelenium to support persistent driver instances,
avoiding driver recreation for each URL
- Warm up entire dashboards instead of individual charts, since dashboard
context affects how charts are cached
- Add documentation for Celery beat configuration
The WebDriver approach simulates real user behavior, ensuring caches are
populated exactly as users would experience them.
Fixes#9597, #18933
Originally by @ensky in PR #20387
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>