django-kombu icon indicating copy to clipboard operation
django-kombu copied to clipboard

Channel does not use transactions

Open zbyte64 opened this issue 15 years ago • 2 comments

djkombu.transport.Channel does not use transactions when performing operations on the Queue. If there is more then one concurrent worker then it is possible for the same message to be retrieved from the queue twice. The functions in the Channel class should wrap it's operations with transaction.commit_on_success. If transactional errors are not allowed to propagate up then they should be caught and properly handled. Possibly by attempting the task again or by returning an empty message.

zbyte64 avatar Feb 14 '11 21:02 zbyte64

Do you have a proposed patch for this problem?

ask avatar Mar 23 '11 12:03 ask

Do you have a proposed patch for this problem?

ask avatar Mar 23 '11 12:03 ask