Workers for a city citation processor use OCI Queue. Which sequence reflects the official message lifecycle principles after a producer publishes work?
Select an answer to reveal the explanation.
Short Explanation
After publish, consumers get the message (it hides), may update to extend that hide if work is slow, and must delete when done. Skip delete and another consumer will see it again. Those verbs are the API—not a separate “ack” product.
Full Explanation
For city citation processor workers on OCI Queue, the official message lifecycle after a producer publishes is: consume (the message becomes invisible to other consumers while this worker processes it), optionally update to extend that invisibility if work is slow, then delete after successful processing. Those verbs—get/consume, update, delete—are the operational contract that keeps work exclusive in flight and complete when done. Consume permanently removing the message with update and delete as optional cosmetics is incorrect: consume hides for a visibility window; delete is what completes the work. Acknowledging via a separate Ack service because Queue has no delete verb invents an API surface; successful completion is expressed by deleting the message. Publishing to Streaming first because Queue only stores offsets, not bodies, confuses Streaming’s offset model with Queue’s message-body inbox. Exam caveat: if you skip delete, the message becomes visible again when the timeout ends and another worker (or the same one) may process it—at-least-once delivery by design. Operational check: instrument the worker to log consume, optional update, and delete; force a slow path that calls update before the visibility window elapses; then confirm the message is gone from the queue only after delete.