MolSSI / QCFractal

A distributed compute and database platform for quantum chemistry.
https://molssi.github.io/QCFractal/
BSD 3-Clause "New" or "Revised" License
143 stars 47 forks source link

Commit for every returned task is processed #837

Closed bennybp closed 1 month ago

bennybp commented 1 month ago

Description

Previously, nested transactions were used when a manager returns tasks. That way, there would only be one big COMMIT at the end when all returned tasks had been processed.

This leads to some deadlocks between services and the task queue. So now we will commit after each returned record has been processed.

Additional disk I/O should be small, and is otherwise ameliorated postgres-side by disabling synchronous commits (which I do on production servers).

Changelog description

Commit for every returned task

Status