diff options
Diffstat (limited to 'src/phinde/Queue.php')
| -rw-r--r-- | src/phinde/Queue.php | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/phinde/Queue.php b/src/phinde/Queue.php new file mode 100644 index 0000000..98f6462 --- /dev/null +++ b/src/phinde/Queue.php @@ -0,0 +1,54 @@ +<?php +namespace phinde; + +class Queue +{ + protected $gmclient; + + public function __construct() + { + $this->gmclient = new \GearmanClient(); + $this->gmclient->addServer('127.0.0.1'); + } + + public function addToIndex($linkUrl, $linkTitle, $sourceUrl) + { + echo "Queuing for indexing: $linkUrl\n"; + $this->gmclient->doBackground( + 'phinde_index', + serialize( + array( + 'url' => $linkUrl, + 'title' => $linkTitle, + 'source' => $sourceUrl + ) + ) + ); + if ($this->gmclient->returnCode() != GEARMAN_SUCCESS) { + echo 'Error queueing URL indexing for ' + . $linkUrl . "\n" + . 'Error code: ' . $this->gmclient->returnCode() . "\n"; + exit(2); + } + } + + public function addToCrawl($linkUrl) + { + echo "Queuing for crawling: $linkUrl\n"; + $this->gmclient->doBackground( + 'phinde_crawl', + serialize( + array( + 'url' => $linkUrl + ) + ) + ); + if ($this->gmclient->returnCode() != GEARMAN_SUCCESS) { + echo 'Error queueing URL crawling for ' + . $linkUrl . "\n" + . 'Error code: ' . $this->gmclient->returnCode() . "\n"; + exit(2); + } + } +} +?> |
