Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 0 additions & 15 deletions api/serverless/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3778,7 +3778,6 @@ components:
- maxWorkers
- idleTtlSecs
- scalingDelaySecs
- concurrency
properties:
id:
type: string
Expand Down Expand Up @@ -3849,11 +3848,6 @@ components:
type: integer
format: int32
description: Cooldown between consecutive scaling decisions.
concurrency:
type: integer
format: int32
default: 1
description: Max tasks a single worker handles simultaneously.
createdAt:
type: string
format: date-time
Expand Down Expand Up @@ -3956,11 +3950,6 @@ components:
type: integer
format: int32
minimum: 1
concurrency:
type: integer
format: int32
minimum: 1
default: 1

WorkerConfigPatch:
type: object
Expand Down Expand Up @@ -4042,10 +4031,6 @@ components:
type: integer
format: int32
minimum: 1
concurrency:
type: integer
format: int32
minimum: 1

Version:
type: object
Expand Down
1 change: 0 additions & 1 deletion docs/runware_serverless_apps_scale.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ runware serverless apps scale <appId> [flags]

```
--available-workers-pct int32 Idle-worker buffer as a percentage of load (0-100)
--concurrency int32 Max tasks a single worker handles simultaneously
--fallback-gpu-type string Secondary GPU type if the preferred type is unavailable
--gpu-type string Preferred GPU type ID (see 'serverless gpus')
--gpus-per-worker int32 GPUs allocated per worker
Expand Down
14 changes: 7 additions & 7 deletions internal/api/serverless/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@ func TestListApps(t *testing.T) {
"appId":"my-app",
"appName":"My App",
"status":"active",
"configuration":{"maxWorkers":1,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"concurrency":1,"gracefulStopTtlSecs":120,"computeType":"gpu"},
"configuration":{"maxWorkers":1,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"gracefulStopTtlSecs":120,"computeType":"gpu"},
"environmentVariables":[],
"secrets":[],
"createdAt":"2026-07-30T12:00:00Z",
Expand Down Expand Up @@ -468,7 +468,7 @@ func TestGetApp(t *testing.T) {
"appId":"my-app",
"appName":"My App",
"status":"initializing",
"configuration":{"maxWorkers":1,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"concurrency":1,"gracefulStopTtlSecs":120,"computeType":"gpu"},
"configuration":{"maxWorkers":1,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"gracefulStopTtlSecs":120,"computeType":"gpu"},
"environmentVariables":[],
"secrets":[],
"createdAt":"2026-07-30T12:00:00Z",
Expand Down Expand Up @@ -628,7 +628,7 @@ func TestUpdateApp(t *testing.T) {
"appId":"my-app",
"appName":"My App",
"status":"active",
"configuration":{"maxWorkers":2,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"concurrency":1,"computeType":"gpu"},
"configuration":{"maxWorkers":2,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"computeType":"gpu"},
"environmentVariables":[],
"secrets":[],
"createdAt":"2026-07-30T12:00:00Z",
Expand Down Expand Up @@ -704,7 +704,7 @@ func TestUpdateApp_AppSource(t *testing.T) {
"appId":"my-app",
"appName":"My App",
"status":"initializing",
"configuration":{"maxWorkers":1,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"concurrency":1,"computeType":"gpu"},
"configuration":{"maxWorkers":1,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"computeType":"gpu"},
"environmentVariables":[],
"secrets":[],
"createdAt":"2026-07-30T12:00:00Z",
Expand Down Expand Up @@ -908,7 +908,7 @@ func lifecycleAppJSON(status string) string {
"appId":"my-app",
"appName":"My App",
"status":"` + status + `",
"configuration":{"maxWorkers":1,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"concurrency":1,"computeType":"gpu"},
"configuration":{"maxWorkers":1,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"computeType":"gpu"},
"environmentVariables":[],
"secrets":[],
"createdAt":"2026-07-30T12:00:00Z",
Expand Down Expand Up @@ -1345,7 +1345,7 @@ func TestDeployVersion(t *testing.T) {
"appName":"My App",
"status":"initializing",
"activeVersionId":"` + testVersionID + `",
"configuration":{"maxWorkers":1,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"concurrency":1,"computeType":"gpu"},
"configuration":{"maxWorkers":1,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"computeType":"gpu"},
"environmentVariables":[],
"secrets":[],
"createdAt":"2026-07-30T12:00:00Z",
Expand Down Expand Up @@ -1618,7 +1618,7 @@ func testAppJSON(status AppStatus) string {
"appId":"my-app",
"appName":"My App",
"status":"` + string(status) + `",
"configuration":{"maxWorkers":1,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"concurrency":1,"gracefulStopTtlSecs":120,"computeType":"gpu"},
"configuration":{"maxWorkers":1,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"gracefulStopTtlSecs":120,"computeType":"gpu"},
"environmentVariables":[],
"secrets":[],
"createdAt":"2026-07-30T12:00:00Z",
Expand Down
7 changes: 1 addition & 6 deletions internal/api/serverless/gen/client.gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions internal/cmd/serverless/apps_scale.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ type scaleFlags struct {
minWorkers int32
idleTTL int32
scalingDelay int32
concurrency int32
gpuType string
gpusPerWorker int32
fallbackGPUType string
Expand Down Expand Up @@ -87,7 +86,6 @@ func bindScaleFlags(cmd *cobra.Command, flags *scaleFlags) {
f.Int32Var(&flags.minWorkers, "min-workers", 0, "Minimum number of workers (0 = scale to zero)")
f.Int32Var(&flags.idleTTL, "idle-ttl", 0, "Idle TTL in seconds before scaling down")
f.Int32Var(&flags.scalingDelay, "scaling-delay", 0, "Scaling delay in seconds")
f.Int32Var(&flags.concurrency, "concurrency", 0, "Max tasks a single worker handles simultaneously")
f.StringVar(&flags.gpuType, "gpu-type", "", "Preferred GPU type ID (see 'serverless gpus')")
f.Int32Var(&flags.gpusPerWorker, "gpus-per-worker", 0, "GPUs allocated per worker")
f.StringVar(&flags.fallbackGPUType, "fallback-gpu-type", "", "Secondary GPU type if the preferred type is unavailable")
Expand All @@ -104,7 +102,6 @@ func workerConfigPatchFromFlags(cmd *cobra.Command, flags scaleFlags) (*serverle
MinWorkers: optionalInt32Ptr(cmd, "min-workers", flags.minWorkers),
IdleTtlSecs: optionalInt32Ptr(cmd, "idle-ttl", flags.idleTTL),
ScalingDelaySecs: optionalInt32Ptr(cmd, "scaling-delay", flags.scalingDelay),
Concurrency: optionalInt32Ptr(cmd, "concurrency", flags.concurrency),
GpuType: optionalFlagStringPtr(cmd, "gpu-type", flags.gpuType),
GpusPerWorker: optionalInt32Ptr(cmd, "gpus-per-worker", flags.gpusPerWorker),
FallbackGpuType: optionalFlagStringPtr(cmd, "fallback-gpu-type", flags.fallbackGPUType),
Expand Down
1 change: 0 additions & 1 deletion internal/cmd/serverless/apps_scale_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ func TestWorkerConfigPatchFromFlags_EachFlag(t *testing.T) {
{[]string{"--min-workers", "0"}, "minWorkers", float64(0)},
{[]string{"--idle-ttl", "120"}, "idleTtlSecs", float64(120)},
{[]string{"--scaling-delay", "15"}, "scalingDelaySecs", float64(15)},
{[]string{"--concurrency", "4"}, "concurrency", float64(4)},
{[]string{"--gpu-type", testGPUType}, "gpuType", testGPUType},
{[]string{"--gpus-per-worker", "2"}, "gpusPerWorker", float64(2)},
{[]string{"--fallback-gpu-type", testGPUType}, "fallbackGpuType", testGPUType},
Expand Down
2 changes: 1 addition & 1 deletion internal/cmd/serverless/deploy_endpoints_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ func activeAppBody(activeVersionID string) string {
}
return fmt.Sprintf(`{
"appId":"my-app","appName":"My App","status":"active","activeVersionId":%s,
"configuration":{"maxWorkers":1,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"concurrency":1,"gracefulStopTtlSecs":120,"computeType":"gpu"},
"configuration":{"maxWorkers":1,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"gracefulStopTtlSecs":120,"computeType":"gpu"},
"environmentVariables":[],"secrets":[],
"createdAt":"2026-07-30T12:00:00Z","updatedAt":"2026-07-30T12:00:00Z"
}`, pin)
Expand Down
2 changes: 1 addition & 1 deletion internal/cmd/serverless/deploy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ func TestExistingApp(t *testing.T) {
"appId":"my-app",
"appName":"My App",
"status":"active",
"configuration":{"maxWorkers":1,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"concurrency":1,"gracefulStopTtlSecs":120,"computeType":"gpu"},
"configuration":{"maxWorkers":1,"idleTtlSecs":60,"scalingDelaySecs":10,"minWorkers":0,"gpusPerWorker":1,"gracefulStopTtlSecs":120,"computeType":"gpu"},
"environmentVariables":[],
"secrets":[],
"createdAt":"2026-07-30T12:00:00Z",
Expand Down
2 changes: 0 additions & 2 deletions internal/cmd/serverless/display.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ const (
colAvailableWorkersPct = "Available workers %"
colIdleTTL = "Idle TTL (s)"
colScalingDelay = "Scaling delay (s)"
colConcurrency = "Concurrency"
colEffectiveMaxWorkers = "Effective max workers"
colActiveWorkers = "Active workers"
colQueueDepth = "Queue depth"
Expand Down Expand Up @@ -87,7 +86,6 @@ func (r appResult) Rows() [][]any {
{colAvailableWorkersPct, formatOptionalInt32(cfg.AvailableWorkersPct)},
{colIdleTTL, cfg.IdleTtlSecs},
{colScalingDelay, cfg.ScalingDelaySecs},
{colConcurrency, cfg.Concurrency},
{colEffectiveMaxWorkers, formatOptionalInt32(r.EffectiveMaxWorkers)},
{colActiveWorkers, r.Runtime.ActiveWorkers},
{colQueueDepth, formatOptionalInt64(r.Runtime.QueueDepth)},
Expand Down
2 changes: 0 additions & 2 deletions internal/cmd/serverless/display_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,6 @@ func TestAppResult_IncludesConfiguration(t *testing.T) {
MaxWorkers: 2,
IdleTtlSecs: 60,
ScalingDelaySecs: 10,
Concurrency: 1,
},
}
if got := r.Headers(); len(got) != 2 || got[0] != colField || got[1] != colValue {
Expand All @@ -353,7 +352,6 @@ func TestAppResult_IncludesConfiguration(t *testing.T) {
colAvailableWorkersPct: "",
colIdleTTL: int32(60),
colScalingDelay: int32(10),
colConcurrency: int32(1),
colEffectiveMaxWorkers: "",
colActiveWorkers: int64(0),
colQueueDepth: "",
Expand Down
Loading