contribsys / faktory

Language-agnostic persistent background job server
https://contribsys.com/faktory/
Other
5.74k stars 229 forks source link

Ent Faktory Batches Guarantees #465

Closed rustworthy closed 8 months ago

rustworthy commented 8 months ago

The Rust bindings for Ent Faktory features are now being added in faktory-rs , namely ergonomic access to batches and trackable jobs is now being worked on.

The wiki is very helpful plus the macos binary you bundle with each release - super important for testing! Also the Go client is an authoritative source of knowledge, especially when in doubt :)

As advised by Mike Perham in the recent email conversation, opening an issue with some findings (for Faktory 1.8.0, i.e. latest):

To demonstrate, a PR with an integration test and an Ent Faktory CI workflow will be added.


As a side-note: The tests we've got confirm that the following guarantees mentioned in the Ent Faktory wiki will definitely hold:

mperham commented 8 months ago

Thanks for the great issue and PR!

I don't think I can do much about the first one as I don't want to get into policing race conditions. The behavior will be undefined.

For the second item, I think I can use the callback state to raise an error if reopening the batch and the callback state is not blank.