private function _createPheanstalk() { $pheanstalk = new \Pheanstalk\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; }
$tubes = []; } $r = $res->withHeader('Content-Type', 'application/json'); $r->write(json_encode(['isServiceListening' => $isServiceListening, 'jobBuried' => $jobBuried, 'jobDelayed' => $jobDelayed, 'jobReady' => $jobReady, 'serverAddress' => $config['beanstalk_server'], 'statsTube' => $statsTube, 'stats' => $stats, 'tubes' => $tubes])); return $r; }); $app->post('/cmd/delete', function ($req, $res) use($pheanstalk) { $job_id = $req->getParam('job_id'); try { v::numeric()->setName('job_id')->check($job_id); } catch (ValidationExceptionInterface $e) { return $res->withStatus(400)->write($e->getMainMessage()); } try { $job = new \Pheanstalk\Job($job_id, []); $pheanstalk->delete($job); } catch (\Pheanstalk\Exception\ServerException $e) { return $res->withStatus(400)->write($e->getMessage()); } }); $app->post('/cmd/kick', function ($req, $res) use($pheanstalk) { $job_id = $req->getParam('job_id'); try { v::numeric()->setName('job_id')->check($job_id); } catch (ValidationExceptionInterface $e) { return $res->withStatus(400)->write($e->getMainMessage()); } try { $job = new \Pheanstalk\Job($job_id, []); $pheanstalk->kickJob($job); } catch (\Pheanstalk\Exception\ServerException $e) {