Knexjs connector for @desmart/queue
npm i @desmart/queue-knexconst { 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:
knexknex 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 lintto 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.shAvailable databases:
mysqllatest version of MySQLmysql5last available version of MySQL 5postgreslatest version of Postgrespostgres9last 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