docs: def open_recruitment(self, n=1):
          """Open recruitment for the first HIT, unless it's already open."""
          from psiturk.amt_services import MTurkServices, RDSServices
          from psiturk.psiturk_shell import PsiturkNetworkShell
          from psiturk.psiturk_org_services import PsiturkOrgServices
  
          psiturk_access_key_id = os.getenv(
              "psiturk_access_key_id",
              self.config.get("psiTurk Access", "psiturk_access_key_id"))
  
          psiturk_secret_access_id = os.getenv(
              "psiturk_secret_access_id",
              self.config.get("psiTurk Access", "psiturk_secret_access_id"))
  
          web_services = PsiturkOrgServices(
              psiturk_access_key_id,
              psiturk_secret_access_id)
  
          aws_rds_services = RDSServices(
              self.aws_access_key_id,
              self.aws_secret_access_key,
              self.aws_region)
  
          self.amt_services = MTurkServices(
              self.aws_access_key_id,
              self.aws_secret_access_key,
              self.config.getboolean(
                  'Shell Parameters', 'launch_in_sandbox_mode'))
  
          self.shell = PsiturkNetworkShell(
              self.config, self.amt_services, aws_rds_services, web_services,
              self.server,
              self.config.getboolean(
                  'Shell Parameters', 'launch_in_sandbox_mode'))
  
          try:
              participants = Participant.query.all()
              assert(participants)
  
          except Exception:
              # Create the first HIT.
              self.shell.hit_create(
                  n,
                  self.config.get('HIT Configuration', 'base_payment'),
                  self.config.get('HIT Configuration', 'duration'))
  
          else:
              # HIT was already created, no need to recreate it.
              print "Reject recruitment reopening: experiment has started."