only retry if the broadcast message task is in sending

previously we would retry if the task was queued up for retry but the
status is in "received-ack" or "received-err". We don't expect that a
task will be retried after getting this status, but if there are
duplicate tasks that could happen. Lets plan for the worst by saying
"only process a retry if the task is currently in sending".

this way, if a duplicate task is on retry and the first task goes
through succesfully, the duplicate task will give up.
This commit is contained in:
Leo Hemsted
2021-02-18 12:02:34 +00:00
parent 90e82aff3e
commit 0088bcd98b
3 changed files with 12 additions and 7 deletions

View File

@@ -381,7 +381,7 @@ def setup_sqlalchemy_events(app):
'host': current_app.config['NOTIFY_APP_NAME'], # worker name
'url_rule': current_task.name, # task name
}
# anything else. migrations possibly.
# anything else. migrations possibly, or flask cli commands.
else:
current_app.logger.warning('Checked out sqlalchemy connection from outside of request/task')
connection_record.info['request_data'] = {