Documentation / @andrew_l/app / defineWorker
Function: defineWorker()
defineWorker<
P,S,M,C>(definition):WorkerDefinition<P,S,M,C>
Define a background worker with a pluggable execution strategy. Returns a WorkerDefinition that can be run with createWorkerInstance + startApp.
Type Parameters
P
P extends ObjectPropsOptions<Data> = ObjectPropsOptions<Data>
S
S extends Record<string, any> = { }
M
M extends Record<string, AnyFunction> = { }
C
C extends WorkerStrategy<{ }> = WorkerStrategy<{ }>
Parameters
definition
WorkerDefinition<P, S, M, C>
Returns
WorkerDefinition<P, S, M, C>
Example
ts
import { defineWorker, IntervalStrategy } from '@andrew_l/app';
export default defineWorker({
name: 'clock',
executeStrategy: new IntervalStrategy({
intervalSeconds: 1,
}),
entry() {
this.log.info('tick=%d', this.timerSequence);
},
async shutdown() {
await delay(1000);
},
});