fix: limit multi-runnable dedicated workers to one job at a time (#8782)
* feat: thread concurrency semaphore through dedicated worker executors Pass the concurrency_semaphore parameter through bun, deno, and python start_worker functions to handle_dedicated_process. Also fix the DedicatedWorkersSelector to use listWorkspacesAsSuperAdmin (so all workspaces including admins are visible) and skip loading when disabled. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: update ee-repo-ref to limit-workers-one-job branch Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: update ee-repo-ref to 54037e77cdd37777560755fef7075d35906c96d8 This commit updates the EE repository reference after PR #523 was merged in windmill-ee-private. Previous ee-repo-ref: 56890ea8fca2c1c44a1338a27011b4dd1137d9c9 New ee-repo-ref: 54037e77cdd37777560755fef7075d35906c96d8 Automated by sync-ee-ref workflow. --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com> Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
This commit is contained in:
@@ -2780,6 +2780,7 @@ pub async fn start_worker(
|
||||
jobs_rx: tokio::sync::mpsc::Receiver<DedicatedWorkerJob>,
|
||||
killpill_rx: tokio::sync::broadcast::Receiver<()>,
|
||||
client: windmill_common::client::AuthedClient,
|
||||
concurrency_semaphore: Option<std::sync::Arc<tokio::sync::Semaphore>>,
|
||||
) -> error::Result<()> {
|
||||
use crate::PyV;
|
||||
tracing::info!("script path: {}", script_path);
|
||||
@@ -2922,6 +2923,7 @@ pub async fn start_worker(
|
||||
"python",
|
||||
client,
|
||||
false,
|
||||
concurrency_semaphore,
|
||||
)
|
||||
.await
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user