[devel at bb.net] Review of "Expert Twisted" chapter

Vit Ry frodox at zoho.com
Tue Dec 12 12:06:56 UTC 2017


Hi! According to PR12 build (https://31-103838017-gh.circle-artifacts.com/0/root/repo/out/10-Buildbot.pdf)

> Buildbot is a framework for building continuous integration applications. 
 
I'm confusing with this every time. What is "CI application" ? CI - is a process, a culture... 
I don't hear often 'CI application' term, and what is the meaning then?
 
> It is a popular choice for organizations and projects with complex and unusual 
build, test, and release requirements. 
 
add "workflow" here also. 
 
> but is not as simple to set up or use as tools like Joomla or Wordpress. 
 
it *might* not be as simple. But in some cases it would be simple enough,
and in some cases it would be hard to setup Joomla for user requirements :)
 
 
> into CVS 
 
What is CVS? VCS may be?  
 
> workers drove the whole process 
 
Ending dot is missed
 
> After leaving the router company, he built a clean re-implementation of the build system, in part as a way to learn Twisted, and the result became Buildbot. 
 
When?! When? So, when actuall Buildbot 0.7 was borne..? 
 
Looks like 2006.  Let's add year reference.
commit 1bb1c105adac5c47aa9f78840d6215ed29ec74d5 (tag: v0.7.1) 
Author: warner-buildbot <warner-buildbot at lothar.com> 
Date:   Sun Mar 12 12:18:43 2006 +0100 
 
    TAG buildbot-0.7.1 
 
> For example WorkerManager is dependent on the MessageQueueConnector, but 
are actually both childs of the masterService. 
 
but *they* are both childes
 

> Interfacing With Synchronous Code 

Next sub-chapters(SQLalchemy, requests, docker) (+Eventual above) a bit tricky, but after reading it
3-5 times I got the idea!
 
> We jump from async world to sync world using self.db.pool.do 
self.db.pool.do is - method. Should be `self.db.pool.do(...)` then 
 
If we take into account not only experts of async readers,
it would be cool to add some minimal clarification, or rephrase some parts,  
that it would be clear (for 2017):
* which code/functions is async one (either return Defferred or yield Defferred - what difference) 
* in which case we should use wrappers (+ py2 vs py3) 
 
it is a bit mess in my newbie head due to history, the evolution and so on. 
 
 
requests paragraph 
 
> HttpClientService takes either one according to what is installed in your environment. 
 
And what if I have both? Which one in priority? 
 
> Ability to reuse sessions between components. 
 
add: *For example*, the GitHubReporter can ... 
 
 
 very big code example of class GitHubStatusPush(http.HttpStatusPushBase): 
 
My suggestion to add some note, what is this 2 page code example illustrates :) 
And keep it as minimum as possible to achieve goal of illustration. Hard to understand for me
 

> https://github.com/twisted/twisted/blob/trunk/src/twisted/internet/defer.py#L1538

would not be correct after few months 

> Perspective Broker

looks like not finished yet. What is PB and what is goal if chapter?

>  Are there sections that have too much detail?
I think about Async Services and RaceCondition chapters, a bit tricky/need deeper understanding


+in gh PR some comments
 ---

Generally we have very good outline and structure, chapter content :)

Regards,
Vit Ry.


 ---- On Tue, 28 Nov 2017 20:21:20 +0300 Dustin J. Mitchell <dustin at buildbot.net> wrote ---- 
 > We have the "Expert Twisted" chapter largely completed, and would like to get some *high-level* review.  Are there sections that have too much detail? Too little?  Does something make no sense?  Is the whole chapter cohesive?  Does the reader care?
 > 
 > We can do a few more revisions based on such reviews, and then submit to Apress for tech and copy editing.
 > 
 > If you'd like access and don't already have it, please let me know your github username.
 > 
 > Dustin
 >  



More information about the devel mailing list