Move operation update outside of callback
Description
The change made in !262 (merged) to change when operations were marked as EXECUTING
had the side effect of causing BuildGrid to hang in postgres. To the best of my knowledge it's because the operation update was being called within an existing session, and it itself creates a new session. This change moves where the operation update happens to not be during the session created when getting leases to return to a worker.
I'm confused as to why this works in the tests as well as manual testing using sqlite, but I verified this change works using @mhadjimichael WIP docker-compose setup in !259 (merged)
I'm not sure how to better test this as part of our unit tests, so I'd appreciate some manual testing to verify I'm not breaking something else by doing this