code: def publishing(self, service):
          
          # flag to know if we have to update
          to_update = False
          # flag to get the status of a service
          status = False
          # provider - the service that offer data
          # check if the service has already been triggered
          # if date_triggered is None, then it's the first run
          if service.date_triggered is None:
              logger.debug("first run {}".format(service))
              to_update = True
              status = True
          # run run run
          data = self.provider(service)
          count_new_data = len(data) if data else 0
          if count_new_data > 0:
              to_update, status = self.consumer(service, data, to_update, status)
              # let's log
          self.log_update(service, to_update, status, count_new_data)
          # let's update
          if to_update and status:
              self.update_trigger(service)
docs: the purpose of this tasks is to get the data from the cache
              then publish them
              :param service: service object where we will publish
              :type service: object