6c30faa7294c70c5af046aa4cbe2c61270445e44
[phinde.git] / src / phinde / Queue.php
1 <?php
2 namespace phinde;
3
4 class Queue
5 {
6     protected $gmclient;
7
8     public function __construct()
9     {
10         $this->gmclient = new \GearmanClient();
11         $this->gmclient->addServer('127.0.0.1');
12     }
13
14     public function addToProcessList($linkUrl, $actions)
15     {
16         echo "Queuing for processing: $linkUrl"
17             . ' (' . implode(',', $actions) . ')'
18             . "\n";
19         $this->gmclient->doBackground(
20             $GLOBALS['phinde']['queuePrefix'] . 'phinde_process',
21             serialize(
22                 array(
23                     'url'     => $linkUrl,
24                     'actions' => $actions,
25                 )
26             )
27         );
28         if ($this->gmclient->returnCode() != GEARMAN_SUCCESS) {
29             echo 'Error queueing URL processing for '
30                 . $linkUrl . "\n"
31                 . 'Error code: ' . $this->gmclient->returnCode() . "\n";
32             exit(2);
33         }
34     }
35 }
36 ?>