worker-messenger
TypeScript icon, indicating that this package has built-in type declarations

1.0.7 • Public • Published

This package is used to call the function between worker_thread and parent using Async function

Using:

  • At parent:
    import { Worker } from 'worker_threads'
    import { ParentMessenger } from 'worker-messenger'
    
    const worker = new Worker('Path/to/your/worker')
    const messenger = new ParentMessenger(worker)
    const timeout = 5000
    
    // Add handlers
    messenger.messageHandler.testFunction_1 = (argsFromWorker) => {
        //Your code handler
        return 'Result from parent'
    }
    // Call function in worker
    const test = async () => {
        const results = await messenger.callWorker('testFunction_2', 'args', timeout)
        console.log({results});
    }
    test()
    
  • At worker:
    import { WorkerMessenger } from 'worker-messenger'
    
    const messenger = new WorkerMessenger()
    const timeout = 5000
    
    // Add handlers
    messenger.messageHandler.testFunction_2 = (argsFromParent) => {
        //Your code handler
        return 'Result from worker'
    }
    // Call function in parent
    const test = async () => {
        const result = await messenger.callParent('testFunction_1', 'args', timeout)
        console.log({result});
    }
    test()
    

Package Sidebar

Install

npm i worker-messenger

Weekly Downloads

2

Version

1.0.7

License

ISC

Unpacked Size

12.3 kB

Total Files

4

Last publish

Collaborators

  • hieumc