I think that was the case with Source 1 - I can't remember the details but if you licensed the engine and released it exclusively on Steam I think there were favourable terms.
But maybe this wasn't execute well enough? Maybe Steam was too in its infancy to attract highly profitable licensees? Most of the non-Valve games made on Source 1 weren't big-budget AAA games so it was likely only a modest return on investment.
Wouldnt e-tag version numbers also work? Or just havkng .jsom with version metadata next to the db blob? No need to sync clocks. Just GET the small db-ver.json and compare version details?
One angle to these multipliers would be this:
A generalist programmer can take other tasks of sw-engineering than just programming with the support of ChatGPT. Like DevOps, DBA and test-automation. For small team or company that is then actually saving or postponing FTE hires
So when the the business data transaction commit a notify event is raised and a job row is inserted. Out of bound job broker listens to a notify event of the job-table or polls the table skipping rows and takes work for processing?
For our particular use case, I think we're actually not using notify events. We just insert rows into the outbox table and the poller re-emits as kafka events and deletes successfully emitted events from the table.
Either business data and job are committed or none of them. Then as you write, either polling or listening to an even worker, can pick it up.
Bonus stuff, from implementation perspective, is that if worker selects row FOR UPDATE (locking the job from others to pick up) and dies, Postgres will release the lock after some time, making the job available for other workers.
You should check git submodules out. Basically you could have your api-repo checkout certain commit from the spa-repo to a folder in the project root and reference the module reltive to that path.
Atleast under the coolios services tab there was the minio-service that has aws-s3 compatible blob filestorage api and a nice web-app ui.
One could host the minio directly with docker too.