in rabbitmq/management/commands/run_rabbitmq_responder.py [0:0]
def handle(self, *args, **options):
connection = pika.SelectConnection(
pika.ConnectionParameters(
host=settings.RABBITMQ_HOST,
port=getattr(settings, "RABBITMQ_PORT", 5672),
virtual_host=getattr(settings, "RABBITMQ_VHOST", "/"),
credentials=pika.PlainCredentials(username=settings.RABBITMQ_USER, password=settings.RABBITMQ_PASSWORD),
connection_attempts=getattr(settings, "RABBITMQ_CONNECTION_ATTEMPTS", 3),
retry_delay=getattr(settings, "RABBITMQ_RETRY_DELAY", 3)
),
on_open_callback=self.channel_opened,
on_close_callback=self.connection_closed,
on_open_error_callback=self.connection_closed,
)
self.runloop = connection.ioloop
def on_quit(signum, frame):
logger.info("Caught signal {0}, exiting...".format(signum))
connection.ioloop.stop()
signal.signal(signal.SIGINT, on_quit)
signal.signal(signal.SIGTERM, on_quit)
connection.ioloop.start()
logger.info("terminated")
sys.exit(self.exit_code)