django-kombu
django-kombu copied to clipboard
Channel does not use transactions
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.
Do you have a proposed patch for this problem?
Do you have a proposed patch for this problem?