When to Use
Usefal apps rollout when you need to replace all runners for an application without redeploying:
- Environment variable changes: Force runners to pick up updated secrets or environment variables
- Bad state recovery: Replace runners that may be in an unhealthy state
- Memory cleanup: Force garbage collection and memory cleanup across all runners
- Configuration updates: Apply changes that require a fresh runner
- Machine type changes: Move existing runners onto a machine type you changed with
fal apps scale— see Changing Machine Types
Graceful vs Force Rollout
Graceful Rollout (Default)
- Identifies all active runners for the application
- Marks each one for replacement — they keep serving requests in the meantime
- Starts replacement runners on the application’s current configuration
- As each new runner finishes starting up and joins the application, one marked runner stops accepting new requests and drains the ones it is still processing
Force Rollout
- Identifies all active runners for the application
- Immediately terminates all runners
- New runners are automatically started by the auto-scaling system
Examples
Rollout after updating a secret
Rollout in a specific environment
Force rollout to recover from frozen runners
Difference from Redeployment
fal apps rollout is different from fal deploy:
fal apps rollout: Replaces existing runners without creating a new revision, so they come up on the app’s current configuration. Useful for applying environment or machine-type changes and recovering from bad states.fal deploy: Creates a new revision of your application with updated code and configuration. Use this when you’ve made code changes.
See Also
- fal deploy - Deploy a new revision of your application
- fal apps scale - Adjust scaling parameters
- fal apps runners - View active runners for an application