{"ok": true, "database": "docs", "table": "sections", "rows": [{"id": "internals:datasette-close", "page": "internals", "ref": "datasette-close", "title": ".close()", "content": "Release all resources held by this  Datasette  instance. This calls  db.close()  on every attached database (including the internal database), shuts down the thread pool executor used to run SQL queries, and unlinks the temporary file used to back the internal database if one was created. \n                 close()  is synchronous, idempotent and one-way: after a call to  close()  any attempt to use the Datasette instance to execute SQL will raise a  datasette.database.DatasetteClosedError  exception. A closed  Datasette  cannot be reopened \u2014 callers that need a fresh instance should construct a new one. \n                 If a call to  Database.close()  on one of the attached databases raises an exception,  Datasette.close()  will continue trying to close the remaining databases and will re-raise the first exception after every database has been processed. \n                 When Datasette is being served over ASGI the  close()  method is wired up to the lifespan shutdown event, so resources are released cleanly on  SIGTERM  /  SIGINT .", "breadcrumbs": "[\"Internals for plugins\", \"Datasette class\"]", "references": "[]"}], "primary_keys": ["id"], "primary_key_values": ["internals:datasette-close"], "query_ms": 4.592090001096949, "truncated": false}