def save(self, running=None):
        """
        save or update this cached gear into the Ariane server cache
        :param running: the new running value. if None ignored
        :return:
        """
        LOGGER.debug("InjectorCachedGear.save")
        ret = True

        if running is not None:
            self.running = running

        if self.service is None:
            self.service = InjectorCachedGearService.make_admin_on_demand_service(self)

        if self.service is not None and not self.service.is_started:
            self.service.start()

        args = {'properties': {'OPERATION': 'PUSH_GEAR_IN_CACHE',
                               'REMOTE_GEAR': str(self.injector_gear_2_json()).replace("'", '"'),
                               'CACHE_ID': InjectorCachedGearService.cache_id}}

        result = InjectorCachedGearService.requester.call(args).get()
        if result.rc != 0:
            err_msg = 'InjectorCachedGear.save - Problem while saving gear ( id : ' + self.id + \
                      'Reason: ' + str(result.response_content) + '-' + str(result.error_message) + \
                      " (" + str(result.rc) + ")"
            LOGGER.warning(err_msg)
            ret = False

        return ret
save or update this cached gear into the Ariane server cache
        :param running: the new running value. if None ignored
        :return: