product:restart
Restart the active product’s Flask app without recreating containers.
Usage
splent product:restart [--dev|--prod] [--full]
Options
| Option | Description |
|---|---|
--dev |
Restart development server (default) |
--prod |
Restart production server |
--full |
Re-run the full entrypoint (reinstall deps, migrations, etc.) |
How it works
Default (no flags)
- Finds the product’s web container
- Resolves symlinks and detects feature changes (new, removed, mode switches). Installs any changed features via
pip. - Restarts feature Docker containers (nginx, redis, etc.) in UVL dependency order. Progress is shown per feature:
⏳ redis ✓ ⏳ nginx ✓ - Kills running Flask/watchmedo/gunicorn processes
- Loads the current
.envfile into the process environment - Re-runs the start script (
05_0_start_app_dev.shor05_1_start_app_prod.sh)
Feature containers are restarted first so that services like Redis or Nginx pick up configuration changes before Flask starts. Updated .env variables are picked up automatically.
With --full
- Finds the product’s web container
- Restarts feature Docker containers in UVL dependency order (same as default)
- Kills running Flask/watchmedo/gunicorn processes
- Loads the current
.envfile into the process environment - Re-runs the full entrypoint (
entrypoint.dev.shorentrypoint.prod.sh)
This reinstalls dependencies, applies pending migrations, and restarts Flask. Use when you need a full re-setup without tearing down containers.
When to use it
- After editing feature code (if watchmedo didn’t pick up the change)
- After changing
.envvariables (product:env --merge) - After
feature:add/feature:attachif the hot reload didn’t work as expected
feature:add,feature:attach,feature:unlock,feature:remove, andfeature:detachalready trigger a hot reload automatically. You only needproduct:restartif something didn’t pick up correctly.
Do not use
--fullafterdb:rollback— the entrypoint re-runsdb:upgradewhich would re-apply the migrations you just rolled back.
See also
- product:run — run the entrypoint (first time setup)
- product:up — start Docker containers
- product:down — stop Docker containers