Async Event Dispatcher
-
- Сообщения: 251
- Зарегистрирован: 2014.08.18, 14:01
Async Event Dispatcher
Кто нибудь реализовывал асинхронный вызов событий через сервер очередей? Я имею ввиду вызов методов прикреплённый как слушателей на события который требуют больше времени и ресурсов чем в синхронном режиме
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Async Event Dispatcher
Да. Какой именно вопрос интересует?
Нравится Yii? Давайте сделаем его лучше!.
-
- Сообщения: 251
- Зарегистрирован: 2014.08.18, 14:01
Re: Async Event Dispatcher
Вопрос именно в реализации , не совсем понимаю. Получается что должен быть singleton подключённый как EventDispatcher, и после через Di получаем к нему доступ где нужно. Теория вроде понятна , в с queue реализация немного не ясна. По возможности увидеть бы пример реализации с queue
-
- Сообщения: 251
- Зарегистрирован: 2014.08.18, 14:01
Re: Async Event Dispatcher
Я хочу использовать встроенные события для общения между различными модулями приложения но обработчики выполнять синхронно будет затратно, спрашиваю тк не могу сообразить как выполнить в фоне именно обработку.
Пример
При добавлении страницы сайта я делаю trigger для события EVENT_SITE_PAGE_CREATED при этом другой модуль подписанный на это событие должен спарить страницу и выдернуть содержимое. Операция затратная по времени и к примеру страница может быть недоступна или парсер заблокировало по request limit.
Ранее внутри парсера делал статическую функцию для обработки Event в которой пушил задание на парсинг в очередь, пока не прижилось такое решение
Пример
При добавлении страницы сайта я делаю trigger для события EVENT_SITE_PAGE_CREATED при этом другой модуль подписанный на это событие должен спарить страницу и выдернуть содержимое. Операция затратная по времени и к примеру страница может быть недоступна или парсер заблокировало по request limit.
Ранее внутри парсера делал статическую функцию для обработки Event в которой пушил задание на парсинг в очередь, пока не прижилось такое решение
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Async Event Dispatcher
1. Уже есть event handler в Yii.
2. Можно к нему подцепиться и слушать события.
3. По событию ставить Job в queue.
2. Можно к нему подцепиться и слушать события.
3. По событию ставить Job в queue.
Нравится Yii? Давайте сделаем его лучше!.