Pull to refresh

Comments 18

DNA который мешает разгласить суть проблемы — это сильно ;)
Активирован ген молчаливости и скрытности, бывает.
Это DNA, не то которое «consists of two long polymers of simple units called nucleotides», а корпоративное. :)
Это которое обычно называют Non Disclosure Agreement?
Так оно NDA тогда… Или я кэп?
:-D У нас в разговоре его упоминают в основном как DNA. Косяк. Сейчас поправлю.
А по сути статьи, не понял в чём «научная новизна»? Автор открыл для себя DeferredLock?
Автор открыл для себя то, что в асинхронном приложении тоже бывают проблемы с конкурентным доступом, и хотел этим поделиться. Ну и DeferredLock он тоже для себя открыл, написав вначале штуки 2 вариаций «на тему».
А почему «тоже»? Откуда в синхронном приложении проблемы с конкурентным доступом?
Насколько я понимаю, всё описанное не работает, если запускать несколько копий приложения, а так нередко делают, чтобы нагрузить равномерно многоядерную систему. Как быть в таком случае?
ну твистед позволит наиболее полно загрузить одно ядро, так что если нету реально необходимости параллелить (например когда большую часть времени мы ждем ответы), то лучше не параллелить.
ну а если надо — делается аналогичная реализация на базе хотя бы memcached или flock. даже сам класс придется не сильно много переписывать
лучше сразу zookeeper, тогда действительно надежно получится…
d.addCallback(power,a) читать как d.addCallback(multiply, a)?
ну и еще бы хорошо добавить d.addCallbacks(release_pool, release_pool), а то релиз походу не вызывается во втором примере
ну и d = some_service.do_long_boring_call(a) — этот вызов же скорее всего должен вернуть Deferred, иначе смысл использовать лок? в таком случае в multiply попадет не результат, а всего лишь Deferred.

п.с. ничего личного, но с твистедом и так местами непонятно, что произошло, так что примеры без адекватной обработки ошибок и содержащие ошибки могут еще больше запутать понимание
Да, кстати. Deferred в Twisted — это реализация паттерна «Futures and Promises».
> Так что общий совет — работая с twisted — больше читайте исходники, там спрятаны велосипеды на все случаи жизни.

Это уж точно.
Один из основных минусов твистеда — крайне скудная документация. Без регулярного копания в кишках использовать его в полную силу несколько затруднительно.
Sign up to leave a comment.

Articles