         @conn_count = 0
         @_queues = {}
         @_exchanges = {}
-        @_auto_purge = []
         @_subscribed_queues = {}
-
-        process.on 'SIGINT', @_cleanup
-
-    _cleanup: =>
-        logger.info('cleaning up purges queues', @_auto_purge.length)
-        for item in @_auto_purge
-            logger.info('destroying queue', item?.name)
-            item?.destroy()
 
     publish: (event, payload, options, cb) ->
         """

        return unless @_subscribed_queues[event]

        unsubscribe = (options) =>
            {queue, auto_purge, ctag} = options
            queue.unsubscribe(ctag)
            # If the queue is supposed to be auto_pruged, lets clean it up
            if auto_purge
                auto_purge_idx = @_auto_purge.indexOf()
                if auto_purge_idx >= 0
                    @_auto_purge.splice(auto_purge_idx, 1)
                delete @_queues[queue.name] if @_queues[queue.name]?
                queue.destroy()

        @_subscribed_queues[event] = @_subscribed_queues[event].filter (tuple) ->
            [l, options] = tuple

        queue_deferred = Q.defer()
        logger.trace("create queue instance", {queue_name, queue_opts})
        connection.queue queue_name, queue_opts, (queue) =>
            queue_deferred.resolve(queue)

        queue_deferred.promise
