Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test storage adapters allow process to exit #47

Closed
lukechilds opened this issue Feb 5, 2018 · 1 comment
Closed

Test storage adapters allow process to exit #47

lukechilds opened this issue Feb 5, 2018 · 1 comment

Comments

@lukechilds
Copy link
Contributor

Test storage adapters allow process to exit.

Otherwise the process may hang if the storage adapter keeps a connection open.

We should add something like this in the constructor:

process.on('exit', () => {
    this.opts.store.closeConnection && this.opts.store.closeConnection();
});

Related: https://github.com/lukechilds/keyv-redis/issues/12

@dandv
Copy link
Contributor

dandv commented Dec 18, 2018

This is also a problem with MongoDB. The process never exits because the mongo adapter doesn't close the connection.

Workaround: this.opts.store.db.close();.

jaredwray added a commit that referenced this issue Dec 5, 2021
jaredwray added a commit that referenced this issue Dec 5, 2021
* Initial commit

* Adapt Redis API

* Run redis on Travis

* Fix typo in description

* Add npm keywords

* Pass TTL functionality over to Redis

* Create promisified redis methods on init

* Create redis methods in loop

* Make sure .get resolves to undefined if key doesn't exist

* Update keyv

* Use keyv-api-tests

* 0.1.0

* Add usage example to readme

* Add API docs to readme

* Add support for .clear()

* 0.2.0

* Don't expost Redis client

* 1.0.0

* keyv => Keyv

* 1.0.1

* Expose Redis client so events can be listened to

* Show error handling in usage example

* 1.1.0

* Add secondary description to readme

* 1.1.1

* Make sure opts.uri from Keyv gets passed through to redis

* Expose connect/error events directly on storage adapter

* Only expose error event

* Emit errors on keyv ee

* Make sure opts is always defined

* Update overview wording

* Use JSONB to allow Buffers in JSON

* Don't send undefined values to Redis Redis will save them as null. If we don't save them at all we'll retrun undefined on .get so everything works as expected.

* No need for JSONB, it's used by default in Keyv now

* 1.2.0

* Improve readability of get method

* Migrate to keyv-test-suite

* Run official keyv storage adapter tests

* Add support for namespaces

* Don't grab namespace from keyv

* Use new store instace for each test

* getter fn for namespace

* Emit error events

* 1.3.0

* Update dependencies to enable Greenkeeper 🌴 (#1)

* chore(package): update dependencies

* docs(readme): add Greenkeeper badge

* Remove Greenkeeper badge

* Use "this"

* Update to requirable

* Pin dependency versions

* 1.3.1

* Fix requirable version number

* Update docs

* Add Keyv logo to header

* Tweak wording

* 1.3.2

* Formatting

* 1.3.3

* Update redis to the latest version 🚀 (#3)

* 1.3.4

* Scope to @keyv

* 1.3.5

* Use scoped dependencies

* Fix package.json links

* Import scoped test suite

* 1.3.6

* Update ava to the latest version 🚀 (#6)

* Support same constructor args as Keyv

* Document creating storage adapter instance

* 1.3.7

* Add .npmignore

* 1.3.8

* Update coveralls to the latest version 🚀 (#8)

* Update ava to the latest version 🚀 (#9)

* Update ava to the latest version 🚀 (#10)

* Update ava to the latest version 🚀 (#11)

* chore(package): update xo to version 0.20.1 (#14)

Closes #13

* Allow testing on non-localhost Redis, add docker config (#27)

* Travis: Update Travis to current active LTS and higher (#28)

* build: removed `ttlSupport` flag (#29)

not longer necessary

* Use ioredis client (#26)

* 2.0.0

* build: Allow passing in an existing Redis instance (#30)

* build: update dependencies (#31)

* build: update dependencies

* build: force

* build: force

* 2.1.0

* Update ioredis to ~4.16.0 (#34)

* 2.1.1

* update ioredis (#38)

* 2.1.2

* adding coverage for undefined going via set (#46)

* upgrade nyc to 15.1.0 (#47)

* adding yarn lock file (#48)

adding yarn lock file

* upgrading delay to version 5.0.0 (#49)

upgrading delay to version 5.0.0 for maintenance

* upgrading ioredis to version 4.27.9 (#50)

maintenance update

* upgrading ava to 3.15.0 (#51)

maintenance update

* Revert "upgrading ava to 3.15.0 (#51)" (#52)

This reverts commit 2db6e7b2fa24c51abc215c0185e3df440c4ff290.

* Update .travis.yml to support node 14 and 15

Update .travis.yml to support node 14 and 15

* upgrading ava to 3.15.0 (#53)

upgrading ava to 3.15.0 for maintenance update

* adding in support for node version 12 (#55)

* upgrading xo to version 0.45.0 (#56)

* upgrading xo to version 0.45.0

* moving to supporting 12,14,16

* upgrading ioredis to version 4.27.10 (#57)

* keyv-redis package updated to 2.1.3 (#58)

* initial check in of github actions (#59)

* initial check in of github actions

* updating to use redis

* update readme with latest status badge

* remove travis

* Fix test suite import (#60)

* Update to use latest npm with license and nvmrc plus license update of authors (#61)

* adding nvmrc for node 16

* updating licensing with dates and authors

* Delete yarn.lock

* update for authors

* Moving to docker compose for testing and build (#62)

* moving to docker compose for testing and build

* moving to docker compose for testing and build

* rename yaml file

* update to remove yarn.lock

* adding in code coverage

* updating logo and build badge

* Update package.json (#63)

* upgrading xo to version 0.46.4 (#64)

* upgrading ioredis to version 4.28.0 (#65)

* Add support for Redis clusters. (#37)

* version bump to v2.2.0

* adding in ttlSupport (#66)

* upgrading to @keyv/test-suite version 1.6.12 (#67)

* rename to redis

* no longer need build

* Delete redis-compose.yaml

* Delete .gitignore

* no longer needed for mongo

* no longer needed in mongo

* updating for packaging

Co-authored-by: Luke Childs <lukechilds123@gmail.com>
Co-authored-by: greenkeeper[bot] <greenkeeper[bot]@users.noreply.github.com>
Co-authored-by: Casey Webb <notcaseywebb@gmail.com>
Co-authored-by: Kiko Beats <josefrancisco.verdu@gmail.com>
Co-authored-by: Will Harney <41450688+wjharney@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants