<
Self,
F extends QueueItemFields = QueueItemFields,
R = never,
RR = never,
Success extends Schema.Top = Schema.Void,
Error extends Schema.Top = Schema.Never
>(
tag: QueueTagFor<Self, F, Success, Error>,
config: QueueVerbConfig<F, QueueErrorValueOf<Error>, R, RR, Success>
): Layer.Layer<HandlerContextOf<QueueInstanceSpec<F>>, never, R | RR>
<
Self,
F extends PriorityItemFields = PriorityItemFields,
E = never,
R = never,
RR = never
>(
tag: HyperlinkTag<Self, PriorityInstanceSpec<F>>,
config: PriorityLayerConfig<Schema.Struct<F>["Type"], E, R, RR>
): Layer.Layer<HandlerContextOf<PriorityInstanceSpec<F>>, never, R | RR>Alias of serveRemote.
layers & servingserveRemote
Source src/WorkPool.ts:21171 lines
export const const serveRemoteMemory: {
<
Self,
F extends QueueItemFields = QueueItemFields,
R = never,
RR = never,
Success extends Schema.Top = Schema.Void,
Error extends Schema.Top = Schema.Never
>(
tag: QueueTagFor<Self, F, Success, Error>,
config: QueueVerbConfig<
F,
QueueErrorValueOf<Error>,
R,
RR,
Success
>
): Layer.Layer<
HandlerContextOf<QueueInstanceSpec<F>>,
never,
R | RR
>
<
Self,
F extends PriorityItemFields = PriorityItemFields,
E = never,
R = never,
RR = never
>(
tag: HyperlinkTag<
Self,
PriorityInstanceSpec<F>
>,
config: PriorityLayerConfig<
Schema.Struct<F>["Type"],
E,
R,
RR
>
): Layer.Layer<
HandlerContextOf<PriorityInstanceSpec<F>>,
never,
R | RR
>
}
Alias of
serveRemote
.
serveRemoteMemory = function serveRemote<Self, F extends QueueItemFields = QueueItemFields, R = never, RR = never, Success extends Schema.Top = Schema.Void, Error extends Schema.Top = Schema.Never>(tag: QueueTagFor<Self, F, Success, Error>, config: QueueVerbConfig<F, QueueErrorValueOf<Error>, R, RR, Success>): Layer.Layer<HandlerContextOf<QueueInstanceSpec<F>>, never, R | RR> (+1 overload)Serve this queue remotely (served-only) — run the worker / refill / persist
engine behind the tag, mount its RPC handlers, and register into
Hyperlink.servedHyperServicesLayer
,
without granting the local instance (no yield* Tag in the serving process). The engine's worker
requirement R is preserved, so a per-HyperService Layer.provide discharges it in isolation — the
queue's counterpart to
Hyperlink.serveRemote
.
Reach for this (with
Node.httpServer
) for a pure gateway/edge that exposes the queue for
remote clients but never consumes it locally; use
serve
when the serving node also drives it.
Node.httpServer([
WorkPool.serveRemote(RosterImportQueue, rosterCfg).pipe(Layer.provide(emptyHookSource)),
WorkPool.serveRemote(MediaImportQueue, mediaCfg).pipe(Layer.provide(emptyHookSource)),
]).pipe(Layer.provide(NodeHttpServer.layer(() => createServer(), { port })));
serveRemote;