docs: def worker(url_key, property_name, function, function_arguments):
      """
      This function usually runs as process on the background.
  
      It runs ``function(*function_arguments)`` and then stores them in REST API
      storage.
  
      Warning:
          This function puts data into DB, isntead of returning them.
  
      Args:
          url_key (str): Key which will be used for database lookup.
          property_name (str): Name of the property used to store data.
          function (obj): Function used to load the data.
          function_arguments (list): List of parameters for function which will
              be called to retreive data.
          error_log_path (str): If set, log errors into this file, otherwise
              stderr.
      """
      # this may take some time, hence outside transaction manager
      error_msg = None
      try:
          data = function(*function_arguments)
      except Exception as e:
          data = []
          error_msg = "Error: " + traceback.format_exc().strip()
          error_msg += "\n" + str(e.message)
  
      # handle logging of possible error message
      if error_msg:
          logger.error(error_msg)
          error_msg = None
  
      func_name = str(function.__name__)
      logger.info(
          "Attempting to save output from `%s`." % func_name
      )
  
      # save `data` into RequestInfo object property
      return _save_to_database(
          url=url_key,
          property_name=property_name,
          data=data
      )