Return queued lifecycle jobs before waking provisioning
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { fleetSnapshot } from '$lib/server/fleet/snapshot.js';
|
||||
import { kick } from '$lib/server/pipeline/worker.js';
|
||||
import { kickProvisioning } from '$lib/server/pipeline/worker.js';
|
||||
import { json } from '@sveltejs/kit';
|
||||
import { queueCreateServer } from '$lib/server/provisioning/index.js';
|
||||
import type { GameMode, ZombieGame } from '$lib/server/fleet/map-aliases.js';
|
||||
@@ -37,6 +37,9 @@ export async function POST({ request }: { request: Request }) {
|
||||
: 500;
|
||||
return json({ ok: false, error: result.message, kind: result.kind }, { status });
|
||||
}
|
||||
void kick().catch((err) => console.error('[create] worker kick failed:', err));
|
||||
// Return the durable job ID before the worker's synchronous admission work.
|
||||
setImmediate(() => {
|
||||
void kickProvisioning().catch((err) => console.error('[create] worker kick failed:', err));
|
||||
});
|
||||
return json({ ok: true, name: result.name, port: result.port, deploymentId: result.deploymentId }, { status: 202 });
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { kick } from '$lib/server/pipeline/worker.js';
|
||||
import { kickProvisioning } from '$lib/server/pipeline/worker.js';
|
||||
import { json } from '@sveltejs/kit';
|
||||
import { destroyServer } from '$lib/server/provisioning/index.js';
|
||||
import { serverSnapshot } from '$lib/server/fleet/snapshot.js';
|
||||
@@ -17,6 +17,8 @@ export async function DELETE({ params }: { params: { name: string } }) {
|
||||
const status = result.kind === 'not-found' ? 404 : result.kind === 'conflict' ? 409 : 500;
|
||||
return json({ ok: false, error: result.message, kind: result.kind, warnings: result.warnings }, { status });
|
||||
}
|
||||
void kick().catch((err) => console.error('[destroy] worker kick failed:', err));
|
||||
setImmediate(() => {
|
||||
void kickProvisioning().catch((err) => console.error('[destroy] worker kick failed:', err));
|
||||
});
|
||||
return json({ ok: true, deploymentId: result.deploymentId }, { status: 202 });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user