The problem was that a) the frontend generated timestamps without timezones which postgresql then interpreted as the UTC but which were actually in the timezone which you ran the python code and b) the closing of open runs after an exception which kills the ETL runner itself (not individual tasks) after an error happened to insert a timestamp with timezone of the time on the postgresql server.
-> the error only happens when an exception happens which triggers this code path, e.g. because something shuts down the the runner (e.g. docker instance is shut down or ctrl+c on the command line).
The problem was that a) the frontend generated timestamps without timezones which postgresql then interpreted as the UTC but which were actually in the timezone which you ran the python code and b) the closing of open runs after an exception which kills the ETL runner itself (not individual tasks) after an error happened to insert a timestamp with timezone of the time on the postgresql server.
-> the error only happens when an exception happens which triggers this code path, e.g. because something shuts down the the runner (e.g. docker instance is shut down or ctrl+c on the command line).
Should fix https://github.com/mara/mara-example-project/issues/12