code: def monitor(result_queue, broker=None):
      
      if not broker:
          broker = get_broker()
      name = current_process().name
      logger.info(_("{} monitoring at {}").format(name, current_process().pid))
      for task in iter(result_queue.get, 'STOP'):
          # save the result
          if task.get('cached', False):
              save_cached(task, broker)
          else:
              save_task(task, broker)
          # acknowledge result
          ack_id = task.pop('ack_id', False)
          if ack_id and (task['success'] or task.get('ack_failure', False)):
              broker.acknowledge(ack_id)
          # log the result
          if task['success']:
              # log success
              logger.info(_("Processed [{}]").format(task['name']))
          else:
              # log failure
              logger.error(_("Failed [{}] - {}").format(task['name'], task['result']))
      logger.info(_("{} stopped monitoring results").format(name))
docs: Gets finished tasks from the result queue and saves them to Django
      :type result_queue: multiprocessing.Queue