7

Я пытаюсь внедрить систему Push Notification в PHP, который необходимо отправить массовые уведомления с кратчайшим задержкой возможно, как described here:Автоматическое масштабирование очереди Толкай в App Engine

push notification architecture

Недостаток I см. в этой архитектуре, как автоматическое масштабирование рабочих уведомлений. Насколько я знаю, нет способа подсчитать ожидающие задачи в очереди на выгрузку и не считать активных работников. Как бы вы это сделали?

ответ

0

Я решил это подсчет отложенных заданий в очереди уведомлений с помощью этого метода, а затем добавить работников в зависимости от количества нерешенных задач:

public static function task_count($queue) 
    { 
     $request = new google\appengine\TaskQueueFetchQueueStatsRequest(); 
     $response = new google\appengine\TaskQueueFetchQueueStatsResponse(); 

     $request->addQueueName($queue);    

     google\appengine\runtime\ApiProxy::makeSyncCall('taskqueue', 'FetchQueueStats', $request, $response); 

     return $response->getQueueStats(0)->getNumTasks(); 
    } 
0

Есть статистика очередей, в которой вы можете получить количество задач в очереди https://cloud.google.com/appengine/docs/python/refdocs/google.appengine.api.taskqueue. Мы используем его для контроля количества заданий, видимо, его можно использовать для вашей цели.

+0

Спасибо, я решил его с помощью статистики очереди –

Смежные вопросы