Optional - Defer the SQS message deletes for SQS EventSource post dispatch #1861
lalitmathwani
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello !
We are part of a team at Adobe working with ArgoEvents/Workflow. Had a quick question regarding the post dispatch deletes of SQS messages by the SQS Event source.
One of our ArgoWorkflows is currently triggered via a WebHook EventSource - fed by a Github app installed on our repos.
We were evaluating switching to the SQS EventSource so as to get a level of resiliency (retries) in the event of the failed POSTs to the webhook due to any outages on the Cluster that hosts ArgoEvents/Workflow.
While evaluating this approach, we had a thought -
Switching to the SQS EventSource would have given us an additional set of retries to potentially recover from temporary failures in the downstream workflow triggered by the sensor ..if we could have passed on the SQS message (context) to the workflow and have the workflow decide to delete the message if successfully processed or let it remain un-deleted if the failure encountered is transient.
In the latter case, on the expiration of the configured visibility timeout, the SQS message could have been retried.
We do see that the SQS Event source currently deletes the SQS message as part of the ack() after the dispatch -
argo-events/eventsources/sources/awssqs/start.go
Line 120 in f43468f
Could an optional (opt-in) mechanism be added to the SQS EventSource to skip the deletes post dispatch (ie defer to another actor such as in this case the Sensor's target)? Also curious to know if there have been requests for such a skipped delete from other deployments..
Cheers!
Beta Was this translation helpful? Give feedback.
All reactions