moonlight

@book/queue (0.1.0)

Published 2026-10-29 19:59:37 +00:00 by tea

Installation

@book:registry=https://git.teawin.ru/api/packages/moonlight/npm/
npm install @book/queue@0.1.0
"@book/queue": "0.1.0"

About this package

Book queue HTTP client and worker

@book/queue

HTTP-клиент очередей Book и worker. Планируемый npm-формат: ESM JavaScript и .d.ts в dist, начальная версия 0.1.0.

Установка

Настройте @book registry и auth token по общей инструкции, затем:

npm install @book/queue

Использование

import { QueueClient } from "@book/queue/client";
import { createQueueWorker } from "@book/queue/worker";

const client = new QueueClient({ baseUrl: "https://book.example.com" });
await client.enqueue("demo", { payload: { message: "Привет" } });

const worker = createQueueWorker(client, {
  queue: "demo",
  concurrency: 2,
  async handler(task, { signal }) {
    signal.throwIfAborted();
    console.log(task.payload);
    return { processed: true };
  },
  onError: console.error,
});

const running = worker.start(); // Promise завершается после остановки, не при запуске.
// При завершении приложения:
await worker.stop({ timeoutMs: 5000 });
await running;

Для защищённого API передайте token в QueueClient; это токен Book, не npm registry. Клиент также принимает собственный fetch.

Публичный API

  • @book/queue — QueueClient, QueueHttpError, createQueueWorker и публичные типы, включая QueueTask и QueueTransport.
  • @book/queue/client — QueueClient, QueueHttpError, типы QueueClientOptions и QueueStats.
  • @book/queue/worker — createQueueWorker и типы worker.

Клиент: enqueue, claim, ack, nack, extend, get, cancel, stats, listDead, redrive. При постановке доступны id, delayMs, availableAt, deadlineAt, maxAttempts; payload обязателен.

Worker получает задачи, продлевает lease и подтверждает результат обработчика. Настройки: queue, handler, concurrency, leaseMs, waitMs, onError. Обработчик должен учитывать signal при остановке по тайм-ауту.

Старые импорты queue/client.ts, queue/worker.ts и остальных модулей queue/ сохранены через переэкспорты. Локальная проверка и релиз описаны для обоих пакетов вместе.

Details
npm
2026-10-29 19:59:37 +00:00
3
latest
6.3 KiB
Assets (1)
queue-0.1.0.tgz 6.3 KiB
Versions (1) View all
0.1.0 2026-10-29