private function _createPheanstalk() { $pheanstalk = new Pheanstalk(self::SERVER_HOST); $tube = preg_replace('#[^a-z]#', '', strtolower(__CLASS__)); $pheanstalk->useTube($tube)->watch($tube)->ignore('default'); try { while ($pheanstalk->delete($pheanstalk->peekDelayed())) { } } catch (Pheanstalk_Exception_ServerException $e) { } try { while ($pheanstalk->delete($pheanstalk->peekReady())) { } } catch (Pheanstalk_Exception_ServerException $e) { } return $pheanstalk; }
debug("Error con " . $fid . ": " . $resav[1]); $exito = ws($fid, 'ERROR', $resav[1]); $pheanstalk->bury($job); } elseif ($resav[0] == 1) { // Infectado debug("Fichero " . $fid . " infectado: " . $resav[1]); $exito = ws($fid, 'INFECTADO', $resav[1]); } else { // Limpio debug("Fichero " . $fid . " limpio "); $exito = ws($fid, 'LIMPIO', ''); } } // Liberamos... o esperamos if ($exito === TRUE) { $pheanstalk->delete($job); } else { $pheanstalk->release($job); debug("No funcionó bien " . $job->getData() . ". Esperando."); sleep(10); } } } } catch (Exception $e) { echo "Error!: " . var_export($e, TRUE) . "\n"; exit(1); } /** * Llamada al servicio web para establecer el estado de un fichero */ function ws($fid, $estado, $extra)