0.55.12 • Published 1 month ago

@startupjs/worker v0.55.12

Weekly downloads
19
License
MIT
Repository
-
Last release
1 month ago

@startupjs/worker

Worker to perform specified actions

Usage

  1. In project root create folder worker and create index.mjs:

    import { TaskDispatcher }  from '@startupjs/worker'
    import path from 'path'
    
    // full path to workerActions.mjs and workerInit.mjs
    // by default 'worker/workerActions.mjs'
    process.env.WORKER_ACTIONS_PATH = path.join(process.cwd(), './workerActions.mjs')
    // by default worker/initWorker.mjs
    process.env.WORKER_INIT_PATH = path.join(process.cwd(), './workerInit.mjs')
    
    const dispatcher = new TaskDispatcher()
    
    dispatcher.start().catch((err) => {
      console.log('Error starting worker', err)
    })

    N There is need to create init and action file with extention .mjs. This is necessary for node to treat these files as modules.

  2. In folder worker create workerInit.mjs. Do any initializations here (plug in hooks, ORM, etc.):

    export let init = global.DM_WORKER_INIT = function (backend) {
      // do initializations here
    }
  3. In folder worker create workerActions.mjs. Put your tasks here (name of functions are the type of tasks):

    export let ACTIONS = {
      test: (model, task, done) {
        console.log('>> Start test task', task.id)
        setTimeout(() => {
          console.log('>> Finish test task', task.id)
          done()
        }, 5000)
      }
    }
  4. Run in console:

      cd worker && node index.mjs

Defaults

Worker has default parameters. These values ​​can be changed if necessary in index.mjs by specifying them in process.env.

WORKER_CHILDREN_NUM: '2', // workers amount in TaskDispatcher
WORKER_TASK_DEFAULT_TIMEOUT: '30000', // time on execute task
WORKER_THROTTLE_TIMEOUT: '3000', // time on execute task
WORKER_TASK_COLLECTION: 'tasks', // task collection name
WORKER_MONGO_QUERY_TIMEOUT: '600', // mongo lock time
WORKER_MONGO_QUERY_INTERVAL: '200', // timeout for Mongo requests
WORKER_MONGO_QUERY_LIMIT: '100', // number of tasks in one request
WORKER_REDIS_QUEUE_INTERVAL: '100', // timeout for Redis requests
MONGO_URL: 'mongodb://localhost:27017/tasks',
REDIS_URL: 'redis://localhost:6379/0',
WORKER_ACTIONS_PATH: path.join(process.cwd(), './workerActions.mjs'),
WORKER_INIT_PATH: path.join(process.cwd(), './initWorker.mjs')

MIT Licence

Copyright (c) 2020 Decision Mapper

0.56.0-alpha.64

1 month ago

0.56.0-alpha.61

2 months ago

0.56.0-alpha.57

2 months ago

0.56.0-alpha.53

2 months ago

0.56.0-alpha.49

2 months ago

0.56.0-alpha.50

2 months ago

0.56.0-alpha.47

3 months ago

0.56.0-alpha.43

3 months ago

0.56.0-alpha.42

3 months ago

0.56.0-alpha.44

3 months ago

0.56.0-alpha.41

3 months ago

0.56.0-alpha.40

3 months ago

0.56.0-alpha.39

3 months ago

0.56.0-alpha.38

3 months ago

0.56.0-alpha.37

3 months ago

0.56.0-alpha.13

3 months ago

0.56.0-alpha.3

4 months ago

0.56.0-alpha.1

4 months ago

0.55.12

4 months ago

0.56.0-alpha.0

4 months ago

0.55.10

5 months ago

0.55.8

5 months ago

0.55.1

6 months ago

0.55.0-alpha.1

7 months ago

0.55.0

6 months ago

0.53.2

7 months ago

0.53.0

9 months ago

0.55.0-alpha.13

6 months ago

0.55.0-alpha.12

6 months ago

0.54.1

7 months ago

0.54.0

7 months ago

0.51.0

12 months ago

0.52.1

12 months ago

0.52.0

12 months ago

0.50.13

1 year ago

0.50.12

1 year ago

0.50.5

1 year ago

0.48.0

2 years ago

0.49.0

1 year ago

0.47.0

2 years ago

0.46.0

2 years ago

0.45.1

2 years ago

0.45.0

2 years ago

0.44.0

2 years ago

0.43.0

2 years ago

0.41.2

2 years ago

0.41.0

2 years ago

0.42.6

2 years ago

0.42.4

2 years ago

0.42.2

2 years ago

0.42.0

2 years ago

0.43.1

2 years ago

0.39.11

3 years ago

0.40.2

3 years ago

0.40.0

3 years ago

0.40.1

3 years ago

0.40.6

2 years ago

0.39.0

3 years ago

0.38.0

3 years ago

0.37.0

3 years ago

0.36.0

3 years ago

0.35.10

3 years ago

0.35.9

3 years ago

0.35.6

3 years ago

0.35.5

3 years ago

0.35.2

3 years ago

0.35.0

3 years ago

0.34.0

3 years ago

0.33.0

3 years ago

0.33.0-alpha.0

3 years ago

0.32.1

3 years ago

0.32.0

3 years ago

0.31.0

3 years ago

0.30.9

3 years ago

0.30.7

3 years ago

0.30.6

3 years ago

0.30.5

3 years ago

0.30.4

3 years ago

0.30.2

3 years ago

0.30.3

3 years ago

0.30.1

3 years ago

0.30.0

3 years ago

0.29.2

3 years ago

0.29.0

3 years ago

0.28.0

4 years ago

0.27.0

4 years ago

0.26.0

4 years ago

0.25.0

4 years ago

0.24.0

4 years ago

0.23.45

4 years ago

0.23.44

4 years ago