public function restGetQueueClear() { $this->changeViewModel('json'); $queue = $this->params()->fromQuery('queue', 'default'); $res = \Resque_Stat::clear($queue); return new JsonModel(array('res' => $res)); }
/** * Unregister this worker in Redis. (shutdown etc) */ public function unregisterWorker() { if (is_object($this->currentJob)) { $this->currentJob->fail(new Resque_Job_DirtyExitException()); } $id = (string) $this; Resque::redis()->srem('workers', $id); Resque::redis()->del('worker:' . $id); Resque::redis()->del('worker:' . $id . ':started'); Resque_Stat::clear('processed:' . $id); Resque_Stat::clear('failed:' . $id); }
/** * Delete a statistic with the given name. * * @param string $stat The name of the statistic to delete. * @return boolean True if successful, false if not. */ public static function clear($stat = self::KEYNAME) { return parent::clear($stat); }
/** * Unregister this worker in Redis. (shutdown etc) * 注销掉该worker */ public function unregisterWorker() { if (is_object($this->currentJob)) { // 如果还有job在,就将其标记为失败 $this->currentJob->fail(new Resque_Job_DirtyExitException()); } $id = (string) $this; // SREM key member [member ...] // 移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。 // 当 key 不是集合类型,返回一个错误。 // 从worker的集合中移除 Resque::redis()->srem('workers', $id); // 删除worker在redis中的存储,包括下面四种: // worker:{workerId}/worker:{workerId}:started/stat:processed:{workerId}/stat:failed:{workerId} Resque::redis()->del('worker:' . $id); Resque::redis()->del('worker:' . $id . ':started'); Resque_Stat::clear('processed:' . $id); Resque_Stat::clear('failed:' . $id); }