code: def fetch(self, start=False, full_data=True):
          
  
          if self.id is None:
              return self
  
          if full_data is True:
              fields = None
          elif isinstance(full_data, dict):
              fields = full_data
          else:
              fields = {
                  "_id": 0,
                  "path": 1,
                  "params": 1,
                  "status": 1,
                  "retry_count": 1,
              }
  
          if start:
              self.datestarted = datetime.datetime.utcnow()
              self.set_data(self.collection.find_and_modify(
                  {
                      "_id": self.id,
                      "status": {"$nin": ["cancel", "abort", "maxretries"]}
                  },
                  {"$set": {
                      "status": "started",
                      "datestarted": self.datestarted,
                      "worker": self.worker.id
                  },
                  "$unset": {
                      "dateexpires": 1 # we don't want started jobs to expire unexpectedly
                  }},
                  projection=fields)
              )
  
              context.metric("jobs.status.started")
  
          else:
              self.set_data(self.collection.find_one({
                  "_id": self.id
              }, projection=fields))
  
          if self.data is None:
              context.log.info(
                  "Job %s not found in MongoDB or status was cancelled!" %
                  self.id)
  
          self.stored = True
  
          return self
docs: Get the current job data and possibly flag it as started.