Yeah, you can avoid holding the xact with the means that you mentioned, e.g. SKIP LOCKED and set some value to PROCESSING, then do your processing, then update to DONE at the end. Or as you mentioned, timestamps.
I think the SKIP LOCKED part is really only useful to avoid contention between two workers querying for new work simultaneously.
I think the SKIP LOCKED part is really only useful to avoid contention between two workers querying for new work simultaneously.