2015-03-27 3 views
1

Есть ли способ в CakePHP создать «бережливый» метод контроллера?Метод суточного контроллера CakePHP, который вызывается несколько раз в минуту

Я планирую вызывать метод контроллера несколько раз в минуту для каждого пользователя с помощью простого вызова ajax. Метод просто возвращает простое значение из memcache (текущие активные пользователи на сайте). Я хотел бы знать, есть ли способ создать скудный метод без каких-либо накладных расходов, так как этот метод будет вызываться около 10.000 раз в минуту.

Я попытался реализовать это с помощью NodeJS-трансляции, которая работала в некоторой степени, но не была полностью надежной.

ответ

1

По этому вопросу вы подразумеваете, что контроллер работает медленно. Вы уже делали тест? Если нет, сделайте это сейчас.

Контроллеры в Cake3 уже довольно тонкие, если вам нужно еще меньше использовать фильтр диспетчера и отправлять ответ до того, как контроллер даже будет создан. Но вам придется вручную выполнять авторизацию и авторизацию пользователей, а не присутствовать здесь AuthComponent.

Главным узким местом будет ваша инфраструктура, а не сценарий в любом случае. Поэтому я бы сосредоточил внимание на правильной настройке балансировки нагрузки, чтобы распределить нагрузку во многих случаях.

Я не знаю, что вы делаете действительно, но это больше похоже на работу по реализации websocket, которая может быть выполнена с помощью Node или Ratchet для php.

+0

Извините, я забыл упомянуть, что я использую CakePHP 2 для этого проекта. Это не то, что я думаю, что контроллер работает медленно, но поскольку этот метод будет называться много, и не нужно много делать, я хотел, чтобы он был как можно быстрее. AuthComponent не требуется, единственное, что мне нужно получить в этом методе, - это MemCache. Я буду искать в фильтрах диспетчера тогда :) –

+0

Затем создайте простой фрейм-файл без фреймворка и просто прочитайте его из кеша? – burzum

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