icq демон и нотификатор по 500 ошибке

Приветствуем!

Хотите что-то написать?

Нужно назвать себя.

Если вы пришли в первый раз,
то нужно зарегистрироваться.

Читайте нас в:

Блог на ya.ru
Блог на Деловом квартале
Блог на Twitter.om
Блог на Livejournal.com
20 марта

Плагиныicq демон и нотификатор по 500 ошибке

Долго и упорно искал нормальную библиотеку для работы с протоколом icq под php и всё таки нашёл. В итоге получилась пара интересных плагинов для Symfony. Тестировал пока на версии 1.1, в ближайшее время проверю и доправлю под 1.2

sfIcqPlugin

Простейший демон, который подключается к указанному вами аккаунту и ждёт подачек в виде сообщений, которые затем отсылает адресатам.

Скачиваем плагин отсюда.

Проводим простейшую процедуру установки, обновляем кеш. Изменяем авторизационную информацию в файле sfIcqPlugin/lib/connection/sfIcqConnection.php

/**  

 * Юин

 */

  static private $uin = ‘123456789’;

 

/**  

* Пароль  

*/

static private $pass = ‘password’;

 

Чуть позже данный момент будет вынесен в конфиг. Затем запускаем демона:

php symfony icq index start

где index — имя вашего приложения. Теперь демон запущен и постоянно проверяет каталог sfIcqPlugin/lib/data/message/ на наличие .yml файлов с сообщениями.

Чтобы создать файл сообщения, делаем в коде следующее:

$icq_message = new sfIcqMessage();

$icq_message->createMessage($uin, $message);

 

Где $uin — это номер получателя, а $message — текст сообщения. После того как демон увидит данный файл — он его пропарсит, отправит сообщение, а файл удалит.

Остановить демона можно при помощи команды:

php symfony icq index stop

где index — имя вашего приложения.

sfIcqExceptionNotifyPlugin

Это плагин-дополнение к icq-демону. Взять можно отсюда.

Конфиг вашего приложения (например класс indexConfiguration) должен выглядеть примерно так:

 public function configure()

 {

   $this->dispatcher->connect(‘application.throw_exception’, array(‘sfIcqExceptionNotify’, ‘sendData’));

 }

Так мы будет перехватывать event, который появляется при 500 ошибке.

Так же необходимо поправить файл config/config.php, указать массив uin'ов, на которые будут приходить сообщения об 500 ошибке. Можно ещё подправить шаблон сообщения (первая %s — ссылка, вторая — текст сообщения исключения).

Остаётся только запустить демона и ждать ошибок :)

главная проблема — демон на php неплохо нагружает процессор, даже такой простой

Коментарии:

fotOn 2009-03-20 15:55:49

еще нужно на мыло и на телефон слать: «Умерло, все умерло» и главное на почту NetAngel.

ответить
maddogg 2009-03-20 16:05:57

:) ну такие нотификаторы уже можно на основе этого сделать.
хм… надо сделать в виде фабрики….

ответить
nadeyev 2009-03-21 09:44:02

Не…, надо слать сообщение — «срочно спасайте менеджера от насилия, вероятность телефонного надругательства выше 90%» :-). А так да — зачот, и лучше сразу в багтрекер еще это писать.

ответить
maddogg 2009-03-21 12:14:42

жаль нельзя научить ронять тяжёлый предмет на программиста :)

ответить
Pentium133 2009-03-20 20:57:39

Как варинат можно слать на жаббер http://forum.symfony.org.ua/topic/465/sfjabberplugin/
А по поводу нотификации об ошибках хорошая идея!

ответить

Свой комментарий: