fix: Fix v8 error with graceful onClose cleanup #53
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Seems like the cause of the v8 error we were getting (WiseLibs/better-sqlite3#842) might have been caused by terminating the worker threads without first closing the DB instance. This PR attempts to fix that by doing a graceful shutdown of workers (it waits for them to finish) before closing the server completely. This PR also adds the
minThreads: 1
option to Piscina, since otherwise I think Piscina opens a worker thread for every CPU available on startup. This minimizes the initial overhead of thread creation.