@eclosion-tech/syntropy-queue
v0.2.0
Published
Shared queue abstraction and adapters for Syntropy workloads
Downloads
91
Readme
@eclosion-tech/syntropy-queue
Shared queue abstractions for Syntropy services.
Includes
- Canonical queue envelope schema and helpers.
- Task registry and worker runtime abstraction.
- SQS backend adapter.
- Worker lifecycle observers for task monitoring.
Core API
createQueueJobEnvelope(...)buildRoutingKey(...)buildIdempotencyKey(...)QueueWorkerRuntimeSqsQueueBackendcreateQueueTelemetryObserver(...)
Local usage
import {
QueueWorkerRuntime,
SqsQueueBackend,
createQueueJobEnvelope,
createQueueTelemetryObserver,
} from "@eclosion-tech/syntropy-queue";Register and Monitor Tasks
import {
QueueWorkerRuntime,
SqsQueueBackend,
createQueueTelemetryObserver,
} from "@eclosion-tech/syntropy-queue";
import { Syntropy } from "@eclosion-tech/syntropy-node";
const runtime = new QueueWorkerRuntime({
backend: new SqsQueueBackend({
region: process.env.AWS_REGION!,
queueUrl: process.env.SQS_QUEUE_URL!,
}),
observers: [
createQueueTelemetryObserver({
client: {
captureEvent: (name, payload) => Syntropy.captureEvent(name, payload),
captureError: (error, context) => Syntropy.captureError(error, context),
},
eventPrefix: "worker",
includePayload: false,
}),
],
});
runtime.register("workflow.runRuntime", async (job, context) => {
context.logger.info("Running workflow runtime task", {
jobId: job.jobId,
tenant: job.tenant,
});
// task logic here
});