Added prettier standard to support prettier and use it in combination with standard
[poolifier.git] / examples / typescript / worker.ts
CommitLineData
cf9aa6c3 1import { ThreadWorker } from 'poolifier'
e9e16250
CQ
2
3export interface MyData {
cf9aa6c3 4 ok: number
e9e16250
CQ
5}
6
7export interface MyResponse {
cf9aa6c3 8 message: string
9 data: MyData
e9e16250
CQ
10}
11
12class MyThreadWorker extends ThreadWorker<MyData, Promise<MyResponse>> {
cf9aa6c3 13 constructor () {
14 super(data => this.process(data), {
e9e16250 15 maxInactiveTime: 60_000,
cf9aa6c3 16 async: true
17 })
e9e16250
CQ
18 }
19
cf9aa6c3 20 private async process (data: MyData): Promise<MyResponse> {
21 return new Promise(resolve => {
e9e16250 22 setTimeout(() => {
cf9aa6c3 23 resolve({ message: 'Hello from Worker :)', data })
24 }, 10_000)
25 })
e9e16250
CQ
26 }
27}
28
cf9aa6c3 29export default new MyThreadWorker()