Knexjs connector for @desmart/queue
npm i @desmart/queue-knex
const { manager, job } = require('@desmart/queue')
const connector = require('@desmart/queue-knex')
const queue = manager(connector({
knex: knexConnectionInstance
}))
Connector can be configured by passing options object to factory function.
Available options:
knex
knex connection to dbtable [jobs]
which table should be used to store/retrieve jobsretryAfter [600]
number of seconds for which job will be locked
In migrations/
folder you will find Knex migration file. Import/copy it to you application.
If you're planning to contribute to the package please make sure to adhere to following conventions.
- lint your code using standard; run
npm run lint
to check if there are any linting errors - make sure to write tests for all the changes/bug fixes
Default test suite is using SQLite db.
It's possible to run tests against different databases.
This requires installed Docker Native.
To run tests for latest MySQL:
NODE_ENV=mysql .travis/setUp.sh
NODE_ENV=mysql npm test
NODE_ENV=mysql .travis/tearDown.sh
Available databases:
mysql
latest version of MySQLmysql5
last available version of MySQL 5postgres
latest version of Postgrespostgres9
last available version of Postgres 9
We're not looking back! You are encouraged to use all features from ES6.
This package follows functional approach - if possible use pure functions, avoid classes etc.
- try to provide regression test when you find a bug
- share some context on what you are trying to do, with enough code to reproduce the issue