From 901b7bfc18d1351fc398a79b62dda93b4e247011 Mon Sep 17 00:00:00 2001 From: schneefux Date: Fri, 10 Mar 2017 17:00:51 +0100 Subject: cache statements --- api.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'api.py') diff --git a/api.py b/api.py index 6409520..3940aad 100644 --- a/api.py +++ b/api.py @@ -47,10 +47,11 @@ class Compiler(joblib.worker.Worker): # directory names: web target table table = os.path.basename(os.path.dirname(path)) with open(path, "r", encoding="utf-8-sig") as file: + qry = await self._con.prepare(file.read()) try: - self._queries[table].append(file.read()) + self._queries[table].append(qry) except KeyError: - self._queries[table] = [file.read()] + self._queries[table] = [qry] logging.info("loaded query '%s'", table) @@ -74,7 +75,7 @@ class Compiler(joblib.worker.Worker): jobid, object_id, table) for query in self._queries[table]: try: - await self._con.execute(query, object_id) + await query.fetch(object_id) except asyncpg.exceptions.DeadlockDetectedError: logging.error("%s: deadlocked!", jobid) raise joblib.worker.JobFailed("deadlock", -- cgit v1.3.1