Будет ли этот вариант с коллбэками реализован в pecl'овском расширении amqp? Или две версии модуля уже сильно отличаются?
2010/10/27 Rauan Maemirov <ra...@maemirov.com>
2010/10/26 Alexandre Kalendarev <aka...@gmail.com>
переделал Basic.Consumeсделал обработку на функциях обратного вызова - кэллбэкахчто позволило съэкономить память (не городить столь огромные массивы)кэллбэк должен возвращать true или 1 если необходимо продолжить подпискуили false - тогда происходит выход из цикла.просьба протестировать на разных Осяхвысказать замечания и посмотреть на возможные утечки
--
Alexandre
Будет ли этот вариант с коллбэками реализован в pecl'овском расширении amqp? Или две версии модуля уже сильно отличаются?
Все работает отлично. CentOS 5.5 x86_64 (2.6.18-194.17.1.el5.centos.plus)Хотелось бы уточнить: новый метод consume берет данные из очереди по очереди и передает в коллбэк, а речь про огромные массивы была именно про то, что старый consume вытягивал все сразу?
Теперь, учитывая, что consume происходит в функции, как будет происходит ack? и нужен ли он там вообще? global — не очень красивое решение.
По поводу ошибки в ack - кажется, это был мой косяк, постоянно создавался новый коннект.По поводу дисконнекта, поставил unset($conn) в деструкторе своего враппера. Трейсер регулярно выдает следующее:1288167642908: conn#84 uncaught java.io.EOFExceptionat java.io.DataInputStream.readUnsignedByte(DataInputStream.java:290)at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:118)at com.rabbitmq.tools.Tracer$DirectionHandler.readFrame(Tracer.java:238)at com.rabbitmq.tools.Tracer$DirectionHandler.doFrame(Tracer.java:272)at com.rabbitmq.tools.Tracer$DirectionHandler.run(Tracer.java:316)at java.lang.Thread.run(Thread.java:636)
2010/10/27 Alexandre Kalendarev <aka...@gmail.com>
26 октября 2010 г. 21:15 пользователь Rauan Maemirov <ra...@maemirov.com> написал:Будет ли этот вариант с коллбэками реализован в pecl'овском расширении amqp? Или две версии модуля уже сильно отличаются?в добавление к вышесказанному хочу сперва довести код до ума и потом все запостить в ПЕЦЛAlexandre