Skip to content

Connection error draining more than a few thousand tasks #4

@chrislawlor

Description

@chrislawlor
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/kombu/messaging.py", line 620, in _receive_callback
    return on_m(message) if on_m else self.receive(decoded, message)
  File "/usr/local/lib/python3.8/site-packages/kombu/messaging.py", line 586, in receive
    [callback(body, message) for callback in callbacks]
  File "/usr/local/lib/python3.8/site-packages/kombu/messaging.py", line 586, in <listcomp>
    [callback(body, message) for callback in callbacks]
  File "/home/docker/taskrabbit/operations.py", line 53, in callback
    message.ack()
  File "/usr/local/lib/python3.8/site-packages/kombu/message.py", line 123, in ack
    self.channel.basic_ack(self.delivery_tag, multiple=multiple)
  File "/usr/local/lib/python3.8/site-packages/librabbitmq/__init__.py", line 94, in basic_ack
    return self.connection._basic_ack(
_librabbitmq.ConnectionError: Couldn't revive channel

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/local/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/docker/taskrabbit/__main__.py", line 3, in <module>
    main()
  File "/home/docker/taskrabbit/cli.py", line 80, in main
    args.func(args)
  File "/home/docker/taskrabbit/cli.py", line 19, in drain_command
    drain(args.exchange, args.queue, store)
  File "/home/docker/taskrabbit/operations.py", line 60, in drain
    conn.drain_events(timeout=1)
  File "/usr/local/lib/python3.8/site-packages/librabbitmq/__init__.py", line 227, in drain_events
    self._basic_recv(timeout)
SystemError: <method '_basic_recv' of '_librabbitmq.Connection' objects> returned a result with an error set

Perhaps a connection pool will be beneficial.

Also, perhaps related, draining is slow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions