Add flow-0.8.17 and update documentation

This commit is contained in:
Gitea Actions
2026-01-09 13:46:03 +00:00
parent bec8c840de
commit 8a4bbca496
4 changed files with 197 additions and 25 deletions

View File

@@ -121,7 +121,98 @@
}
},
"workflowEngine": {
"$ref": "#/definitions/service"
"allOf": [
{ "$ref": "#/definitions/service" },
{
"type": "object",
"properties": {
"runtime": {
"type": "object",
"properties": {
"concurrencyMaxRetries": {
"type": "integer",
"minimum": 1,
"description": "Maximum retry attempts for concurrency conflicts"
},
"concurrencyBaseDelayMs": {
"type": "integer",
"minimum": 1,
"description": "Base delay in milliseconds between retries"
},
"concurrencyJitterMs": {
"type": "integer",
"minimum": 0,
"description": "Random jitter added to retry delays"
}
}
},
"tenantSettings": {
"type": "object",
"properties": {
"cacheDurationMinutes": {
"type": "integer",
"minimum": 1,
"description": "How long to cache tenant settings"
},
"fallbackToDefaults": {
"type": "boolean",
"description": "Whether to use defaults when TenantRegistry is unavailable"
}
}
},
"leaderElection": {
"type": "object",
"properties": {
"defaultLeaseDurationMinutes": {
"type": "integer",
"minimum": 1,
"description": "Default leadership lease duration in minutes"
},
"retryIntervalSeconds": {
"type": "integer",
"minimum": 1,
"description": "How often to retry acquiring leadership"
}
}
},
"workflowTimeout": {
"type": "object",
"properties": {
"checkIntervalMinutes": {
"type": "integer",
"minimum": 1,
"description": "How often to check for timed-out workflows"
},
"leaseDurationMinutes": {
"type": "integer",
"minimum": 1,
"description": "Leadership lease duration for timeout checks"
}
}
},
"workflowCleanup": {
"type": "object",
"properties": {
"checkIntervalMinutes": {
"type": "integer",
"minimum": 1,
"description": "How often to run cleanup (in minutes)"
},
"batchSize": {
"type": "integer",
"minimum": 1,
"description": "Max workflows to delete per tenant per run"
},
"leaseDurationMinutes": {
"type": "integer",
"minimum": 1,
"description": "Leadership lease duration for cleanup"
}
}
}
}
}
]
},
"activityRegistry": {
"$ref": "#/definitions/service"

View File

@@ -330,6 +330,39 @@ workflowEngine:
concurrencyBaseDelayMs: 100
concurrencyJitterMs: 50
# -- Tenant settings provider configuration
tenantSettings:
# -- How long to cache tenant settings (format: HH:MM:SS or minutes as integer)
cacheDurationMinutes: 5
# -- Whether to use default settings when TenantRegistry is unavailable
fallbackToDefaults: true
# -- Leader election configuration for distributed background services
# Ensures only one pod runs cleanup/timeout jobs in multi-replica deployments
leaderElection:
# -- Default lease duration in minutes
defaultLeaseDurationMinutes: 1
# -- Retry interval in seconds when not the leader
retryIntervalSeconds: 10
# -- Workflow timeout service configuration
# Marks long-running workflows as failed based on tenant WorkflowTimeoutMinutes setting
workflowTimeout:
# -- How often to check for timed out workflows (in minutes)
checkIntervalMinutes: 1
# -- How long to hold leadership lease (in minutes, should be > checkInterval)
leaseDurationMinutes: 2
# -- Workflow cleanup service configuration
# Deletes old completed/failed workflows based on tenant MaxWorkflowHistoryDays setting
workflowCleanup:
# -- How often to run cleanup (in minutes, default 60 = 1 hour)
checkIntervalMinutes: 60
# -- Max workflows to delete per tenant per run
batchSize: 100
# -- How long to hold leadership lease (in minutes)
leaseDurationMinutes: 5
# -- Additional environment variables
extraEnv: []