Overview
Scheduled Rebuilds let GWM automatically re-run a project's deploy pipeline at a fixed interval, even when no new commits are pushed. This is useful for static sites that pull data from external sources at build time — CMS content, API feeds, pricing tables — so pages stay fresh without manual intervention.
Scheduled Rebuilds are available for static, node, react, and nextjs project types.
Enabling Scheduled Rebuilds
Open a project's Edit page and scroll to the Scheduled Rebuild section (visible only for the supported project types above). Toggle Enable scheduled rebuild on, then set an interval in hours. Minimum is 1 hour; maximum is 8,760 hours (one year).
The same controls are available when creating a new project in Step 3 of the creation wizard.
How It Works
- The
projects:rebuild-staticartisan command runs every 30 minutes via the scheduler. - It queries all projects with
rebuild_enabled = trueand checks whether the rebuild interval has elapsed sincelast_rebuild_at. - Projects with no prior rebuild (
last_rebuild_atis null) are always considered due. - A
rebuild_staticaction is added to the deployment queue. If one is already queued for the project, no duplicate is created. - When the queue processes the action, the full deploy pipeline runs and
last_rebuild_atis updated.
Requirements
- The Laravel scheduler must be running (
* * * * * php artisan schedule:runin cron). See the Scheduler page. - The deployment queue worker must be active. See the Task Queue page.
Monitoring
Each scheduled rebuild appears as a queue item on the project's Queue tab with the source scheduled_rebuild. The last_rebuild_at timestamp is updated after a successful run and is shown on the project edit form.