Wrapper for function that performs put
and can add some payload of A
Default handler, adding Processing
for acquire and Processed
for release
Acquire lock by adding Processing
state to the Item
Only processing-apps should acquire lock (no snowplowctl)
Acquire lock by adding Processing
state to the Item
Only processing-apps should acquire lock (no snowplowctl)
It performs two Item-checks: one *before* acquiring lock, to check that
application is still working with unchanged item (some time might pass
since we received Item
- it even could happen in batch);
one *after* acquiring lock, to check that meanwhile put
-request was sent
no other application attempted to write to this item
It acquires lock for particular application, but will also fail because of
"race condition" if any other application attempted to write
application that tries to acquire lock
original unprocessed item, from batch of items
payload that will be add to Processing
record
time of adding Processing
within MonadError
effect, telling if acquisition was successful
Helper to mark Item
as Failed
(put Failed
)
Helper to release lock (put Processed
)