code: def pushJobResults(self, jobId, result, parameters, workerName):
      jobId = serialization.loads(jobId)
      result = serialization.loads(result)
      parameters = serialization.loads(parameters)
  
      # Remove the job mapping.
      with self.__lock:
          try:
              del self.__activeJobs[jobId]
          except KeyError:
              # The job's results were already submitted.
              return
  
          if self.__bestResult is None or result > self.__bestResult:
              logger.info(
                  "Best result so far %s with parameters %s"
                  % (result, parameters)
              )
              self.__bestResult = result
  
      self.__resultSinc.push(result, base.Parameters(*parameters))
  
imports: import threading
  import time
  from six.moves import xmlrpc_server
  import pyalgotrade.logger
  from pyalgotrade.optimizer import base
  from pyalgotrade.optimizer import serialization
label_desc: Use image node_id 6 for calling the Server obj's underlying member method code with example usage: obj.pushJobResults(jobId, result, parameters, workerName) without return types