runtime: default embedded worker startup when worker url is unset
This commit is contained in:
parent
943e547836
commit
a073fb63a3
2 changed files with 13 additions and 7 deletions
|
|
@ -85,7 +85,9 @@ IMPORT_LIBRARY_DIRS=
|
||||||
# COMPUTE_WORKER_URL=http://localhost:8081
|
# COMPUTE_WORKER_URL=http://localhost:8081
|
||||||
# COMPUTE_WORKER_TOKEN=local-compute-token
|
# COMPUTE_WORKER_TOKEN=local-compute-token
|
||||||
# Optional embedded worker stack controls (used by scripts/openreader-entrypoint.mjs):
|
# Optional embedded worker stack controls (used by scripts/openreader-entrypoint.mjs):
|
||||||
# START_EMBEDDED_COMPUTE_WORKER=true
|
# If COMPUTE_WORKER_URL is unset, entrypoint defaults to starting embedded worker+NATS.
|
||||||
|
# Set START_EMBEDDED_COMPUTE_WORKER=false to force external worker URL/token config.
|
||||||
|
# START_EMBEDDED_COMPUTE_WORKER=
|
||||||
# EMBEDDED_COMPUTE_WORKER_PORT=8081
|
# EMBEDDED_COMPUTE_WORKER_PORT=8081
|
||||||
# EMBEDDED_NATS_PORT=4222
|
# EMBEDDED_NATS_PORT=4222
|
||||||
# EMBEDDED_NATS_MONITOR_PORT=8222
|
# EMBEDDED_NATS_MONITOR_PORT=8222
|
||||||
|
|
|
||||||
|
|
@ -445,17 +445,21 @@ async function main() {
|
||||||
const embeddedWorkerPort = Number.parseInt(withDefault(runtimeEnv.EMBEDDED_COMPUTE_WORKER_PORT, '8081'), 10);
|
const embeddedWorkerPort = Number.parseInt(withDefault(runtimeEnv.EMBEDDED_COMPUTE_WORKER_PORT, '8081'), 10);
|
||||||
const embeddedNatsPort = Number.parseInt(withDefault(runtimeEnv.EMBEDDED_NATS_PORT, '4222'), 10);
|
const embeddedNatsPort = Number.parseInt(withDefault(runtimeEnv.EMBEDDED_NATS_PORT, '4222'), 10);
|
||||||
const embeddedNatsMonitorPort = Number.parseInt(withDefault(runtimeEnv.EMBEDDED_NATS_MONITOR_PORT, '8222'), 10);
|
const embeddedNatsMonitorPort = Number.parseInt(withDefault(runtimeEnv.EMBEDDED_NATS_MONITOR_PORT, '8222'), 10);
|
||||||
const shouldStartEmbeddedWorker = resolveBooleanEnv(
|
const embeddedWorkerEnvRaw = runtimeEnv.START_EMBEDDED_COMPUTE_WORKER;
|
||||||
runtimeEnv,
|
let shouldStartEmbeddedWorker = isTrue(
|
||||||
'START_EMBEDDED_COMPUTE_WORKER',
|
embeddedWorkerEnvRaw,
|
||||||
isRunningInDocker() && !Boolean(runtimeEnv.COMPUTE_WORKER_URL?.trim()),
|
!Boolean(runtimeEnv.COMPUTE_WORKER_URL?.trim()),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (shouldStartEmbeddedWorker) {
|
if (shouldStartEmbeddedWorker && !hasNatsBinary()) {
|
||||||
if (!hasNatsBinary()) {
|
if (embeddedWorkerEnvRaw && isTrue(embeddedWorkerEnvRaw, true)) {
|
||||||
throw new Error('START_EMBEDDED_COMPUTE_WORKER=true but `nats-server` binary is not available in PATH.');
|
throw new Error('START_EMBEDDED_COMPUTE_WORKER=true but `nats-server` binary is not available in PATH.');
|
||||||
}
|
}
|
||||||
|
shouldStartEmbeddedWorker = false;
|
||||||
|
console.warn('`nats-server` binary not found; skipping embedded compute worker startup.');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (shouldStartEmbeddedWorker) {
|
||||||
runtimeEnv.NATS_URL = withDefault(runtimeEnv.NATS_URL, `nats://127.0.0.1:${embeddedNatsPort}`);
|
runtimeEnv.NATS_URL = withDefault(runtimeEnv.NATS_URL, `nats://127.0.0.1:${embeddedNatsPort}`);
|
||||||
runtimeEnv.COMPUTE_WORKER_URL = withDefault(runtimeEnv.COMPUTE_WORKER_URL, `http://127.0.0.1:${embeddedWorkerPort}`);
|
runtimeEnv.COMPUTE_WORKER_URL = withDefault(runtimeEnv.COMPUTE_WORKER_URL, `http://127.0.0.1:${embeddedWorkerPort}`);
|
||||||
runtimeEnv.COMPUTE_WORKER_TOKEN = withDefault(
|
runtimeEnv.COMPUTE_WORKER_TOKEN = withDefault(
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue