{"html_url": "https://github.com/simonw/datasette/issues/1270#issuecomment-805058241", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1270", "id": 805058241, "node_id": "MDEyOklzc3VlQ29tbWVudDgwNTA1ODI0MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-03-23T16:45:39Z", "updated_at": "2021-03-23T16:45:39Z", "author_association": "OWNER", "body": "I managed to build SpatiaLite such that this isn't necessary any more. I'm still interested in pursuing this further though - it feels like it could be a more robust way of implementing timeouts, but I need to prove to myself that it's better (maybe better performance, or handles more edge-cases?). Not sure how to prove that yet.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 837350092, "label": "Try implementing SQLite timeouts using .interrupt() instead of using .set_progress_handler()"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1270#issuecomment-804255633", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1270", "id": 804255633, "node_id": "MDEyOklzc3VlQ29tbWVudDgwNDI1NTYzMw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-03-22T17:32:02Z", "updated_at": "2021-03-22T17:32:08Z", "author_association": "OWNER", "body": "Confirmed that the `interrupt()` based cancellation mechanism fixes the SpatiaLite issue in #1268!", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 837350092, "label": "Try implementing SQLite timeouts using .interrupt() instead of using .set_progress_handler()"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1270#issuecomment-803834784", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1270", "id": 803834784, "node_id": "MDEyOklzc3VlQ29tbWVudDgwMzgzNDc4NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-03-22T07:31:57Z", "updated_at": "2021-03-22T16:22:19Z", "author_association": "OWNER", "body": "I think the implementation for this goes here: https://github.com/simonw/datasette/blob/6f41c8a2bef309a66588b2875c3e24d26adb4850/datasette/database.py#L146-L157\r\n\r\nI figured out a similar pattern in `datasette-ripgrep` here: https://github.com/simonw/datasette-ripgrep/blob/0.7/datasette_ripgrep/__init__.py#L63-L71", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 837350092, "label": "Try implementing SQLite timeouts using .interrupt() instead of using .set_progress_handler()"}, "performed_via_github_app": null}