?

Log in

No account? Create an account
Ненависти (к Петону) псто - Cyril Pertsev — LiveJournal
September 7th, 2014
07:20 pm

[Link]

Previous Entry Share Next Entry
Ненависти (к Петону) псто

(23 comments | Leave a comment)

Comments
 
[User Picture]
From:kika
Date:September 8th, 2014 04:26 pm (UTC)
(Link)
self.changes - это инстанс ChangesStream из couchdbkit, практически официального клиента для Кауча (ну, его Бенуа пишет). Он открывает лонгполл на каучевский ендпойнт /_changes и висит на нем, выгребая приезжающие кусочки JSON'а в итераторе ( __iter__ )
А вот завершаться он явно не обучен и как его даже не обучить, а хотя бы отладить - совершенно непонятно.
[User Picture]
From:evolver
Date:September 9th, 2014 04:07 am (UTC)
(Link)
Если он не предусматривает force-close, то разнеси выборку и обработку, соединив их очередью, и дай ему закрыться каким-нибудь предусмотренным способом.
[User Picture]
From:kika
Date:September 9th, 2014 08:33 pm (UTC)
(Link)
Я могу его убить, не проблема. Проблема в том что я из цикла читания выйти не могу :-) Мне итератор отдал значение, я его понял как команду на выход, напечатал "выхожу" и не смог выйти :-)
[User Picture]
From:fi_mihej
Date:September 9th, 2014 11:54 am (UTC)
(Link)
Ну вот. Оказывается дело-то не в Пайтоне, а либо в неправильно-написанном ChangesStream, либо в том что ты не прочел его (ChangesStream) документацию, и незнаешь как его правильно завершать.
[User Picture]
From:kika
Date:September 9th, 2014 08:32 pm (UTC)
(Link)
этот ChangesStream - пара десятков строк, там читать-то нечего. Вы чего-то никак не поймете в чем проблема - сделан break из цикла, который идет по итератору, итератор вполне каждый раз отдает yield, все нормально. Но break не срабатывает.

Вот попробуйте так написать итерирумый класс, который честно на каждую итерацию отдает, скажем, строку, но из этого цикла выйти брейком не получается. Я не могу даже придумать как так "неправильно" написать.
[User Picture]
From:fi_mihej
Date:September 9th, 2014 10:50 pm (UTC)
(Link)
Мы - читатели-коментаторы - конечно не можем понять в чем проблема:
1) даже код, который ты выложил - изменен, я б даже сказал исковеркан html-форматированием;
2) про ChangesStream ты написал аж где-то в глубине коментов. И то мельком.

Так что там или таки баг какой-то в сборке пайтона, или ты что-то упустил, и тут нам не прописал. Второе - вероятнее. Чисто статистически.
My Website Powered by LiveJournal.com