feat: добавить базовые сервисы image-platform
- добавлены backend, admin, gateway и worker skeleton - добавлены Drizzle schema, database package и initial migration - добавлены shared packages для RabbitMQ topology и S3 helpers - обновлены dev-инфраструктура, env example, scripts и dependencies - обновлена документация под versioned image URLs и read-through flow
This commit is contained in:
25
apps/worker/src/config.ts
Normal file
25
apps/worker/src/config.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { loadQueueTopologyFromEnv, type QueueTopology } from "@image-platform/queue"
|
||||
|
||||
export type WorkerConfig = {
|
||||
prefetch: number
|
||||
queueTopology: QueueTopology
|
||||
rabbitmqUrl: string
|
||||
}
|
||||
|
||||
export function loadWorkerConfig(env: NodeJS.ProcessEnv = process.env): WorkerConfig {
|
||||
return {
|
||||
prefetch: parsePositiveInteger(env.WORKER_PREFETCH, 2),
|
||||
queueTopology: loadQueueTopologyFromEnv(env),
|
||||
rabbitmqUrl: env.RABBITMQ_URL ?? "amqp://image:image-password@localhost:5672/image_platform",
|
||||
}
|
||||
}
|
||||
|
||||
function parsePositiveInteger(value: string | undefined, fallback: number) {
|
||||
if (!value) {
|
||||
return fallback
|
||||
}
|
||||
|
||||
const parsed = Number.parseInt(value, 10)
|
||||
|
||||
return Number.isSafeInteger(parsed) && parsed > 0 ? parsed : fallback
|
||||
}
|
||||
Reference in New Issue
Block a user