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