code: def freerun_context_entry(process_name,
                            entry_name,
                            classname,
                            token,
                            trigger_frequency,
                            is_on=True,
                            present_on_boxes=None,
                            description=None,
                            arguments=None,
                            exchange=EXCHANGE_FREERUN_WORKER,
                            queue=None,
                            routing=None,
                            pid_file=None,
                            log_file=None):
      
      _ROUTING_PREFIX = 'routing_'
      _QUEUE_PREFIX = 'queue_'
      _SUFFIX = '_freerun'
  
      if arguments is not None:
          assert isinstance(arguments, dict)
  
      process_entry = FreerunProcessEntry(
          process_name=process_name,
          entry_name=entry_name,
          trigger_frequency=trigger_frequency,
          state_machine_name=STATE_MACHINE_FREERUN,
          is_on=is_on,
          classname=classname,
          token=token,
          present_on_boxes=present_on_boxes,
          description=description,
          mq_queue=queue if queue is not None else _QUEUE_PREFIX + token + _SUFFIX,
          mq_routing_key=routing if routing is not None else _ROUTING_PREFIX + token + _SUFFIX,
          mq_exchange=exchange,
          arguments=arguments if arguments is not None else dict(),
          log_filename=log_file if log_file is not None else token + _SUFFIX + '.log',
          pid_filename=pid_file if pid_file is not None else token + _SUFFIX + '.pid')
      return process_entry
docs: forms process context entry