@desmart/queue-knex
v1.0.2
Published
Knexjs connector for @desmart/queue
Downloads
5
Readme
@desmart/queue-knex
Knexjs connector for @desmart/queue
installation
npm i @desmart/queue-knex
example
const { manager, job } = require('@desmart/queue')
const connector = require('@desmart/queue-knex')
const queue = manager(connector({
knex: knexConnectionInstance
}))
configuration
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
database migration
In migrations/
folder you will find Knex migration file. Import/copy it to you application.
development
If you're planning to contribute to the package please make sure to adhere to following conventions.
tests & linting
- 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
testing against selected databases
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
general practices
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.
issues & PR
- 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