Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/01/2013, 08:36
Avatar de Genetix
Genetix
 
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 9 meses
Puntos: 45
pbSubHubbub con ZF2

Hola
He estado viendo este asunto del pbSubHubbu y hay algunos detalles que aun no termino de comprender del todo, a ver si me ayudan.

He creado este "Action" donde me suscribo al Rss de un sitio, todo funciona bien, ya que se guarda en la base de datos.
Código PHP:
Ver original
  1. public function pbSubHubbubAction()
  2.     {
  3.         $dbAdapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter');
  4.         $table = new TableGateway('rss_subscription', $dbAdapter);
  5.         $storage = new \Zend\Feed\PubSubHubbub\Model\Subscription($table);
  6.  
  7.  
  8.         $subscriber = new \Zend\Feed\PubSubHubbub\Subscriber;
  9.         $subscriber->setStorage($storage);
  10.         $subscriber->addHubUrl('http://pubsubhubbub.appspot.com');
  11.         $subscriber->setTopicUrl('http://notizblog.org/feed/');
  12.         $subscriber->setCallbackUrl('http://mysite.com/rss/cron/callback');
  13.         $subscriber->subscribeAll();
  14.  
  15.  
  16.         $json = new JsonModel(array('status' => 'ok'));
  17.         return $json;
  18.     }

En la db genera el Siguiente registro
Código PHP:
id                 59f61b63192aa4d6561eae7e4da817d8        
topic_url          
http://notizblog.org/feed/    
hub_url            http://pubsubhubbub.appspot.com
created_time       2013-01-22 09:06:13            
lease_seconds      
432000            
verify_token       
3867d706987a1a3b1061b3930310b0a3246dee1a529b6e95ed3cc58018240f46        
secret             
:        
expiration_time    2013-01-27 09:08:00        
subscription_state 
verified 


Luego Implemento el callback
Código PHP:
Ver original
  1. public function callbackAction()
  2.     {
  3.  
  4.         $dbAdapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter');
  5.         $table = new TableGateway('rss_subscription', $dbAdapter);
  6.         $storage = new \Zend\Feed\PubSubHubbub\Model\Subscription($table);
  7.         $callback = new \Zend\Feed\PubSubHubbub\Subscriber\Callback;
  8.         $callback->setStorage($storage);
  9.  
  10.         $subscriptionKey = $this->params()->fromRoute('key');
  11.         $callback->setSubscriptionKey($subscriptionKey);
  12.         $callback->handle();
  13.         $callback->sendResponse();
  14.  
  15.         if ($callback->hasFeedUpdate()) {
  16.             $feedString = $callback->getFeedUpdate();
  17.             var_dump($feedString . "proceso");
  18.              //qui debe estar mi proceso
  19.         }
  20.     }

Esto es lo que no me queda muy claro, la url que le paso para probrar es
http://mysite.com/rss/cron/callback/...1eae7e4da817d8 pero no me muestra nada.

Como se supone que debe funcionar el callback? alguna Idea? o me perdí de algo
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com

Última edición por Genetix; 22/01/2013 a las 08:46