Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
ó
ǍEYc@sœddlZddlZddlZddlmZddlmZddlmZeje	ƒZ
d„Zdefd„ƒYZ
defd	„ƒYZdS(
iÿÿÿÿN(t	greenpool(tloopingcall(t	timeutilscCs|j|ƒdS(s°Callback function to be passed to GreenThread.link() when we spawn().

    Calls the :class:`ThreadGroup` to notify it to remove this thread from
    the associated group.
    N(tthread_done(t_greenthreadtgrouptthread((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyt_on_thread_donestThreadcBsMeZdZed„Zed„ƒZd„Zd„Zd„Z	d„Z
RS(sÎWrapper around a greenthread.

     Holds a reference to the :class:`ThreadGroup`. The Thread will notify
     the :class:`ThreadGroup` when it has done so it can be removed from
     the threads list.
    cCs;||_|r(|jjt||ƒnt|ƒ|_dS(N(RtlinkRtidt_ident(tselfRRR	((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyt__init__+s	cCs|jS(N(R(R((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pytident1scCs|jjƒdS(N(Rtkill(R((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pytstop5scCs
|jjƒS(N(Rtwait(R((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyR8scOs|jj|||ŽdS(N(RR	(Rtfunctargstkwargs((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyR	;scGs|jj|ŒdS(N(Rtcancel(Rt
throw_args((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyR>s(t__name__t
__module__t__doc__tTrueR
tpropertyRRRR	R(((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyR$s			tThreadGroupcBs’eZdZdd„Zddd„Zdd„Zd„Zd„Zd„Z	d„Z
d	„Zd
„Ze
d„Zd„Zd
„Zd„ZRS(s¸The point of the ThreadGroup class is to:

    * keep track of timers and greenthreads (making it easier to stop them
      when need be).
    * provide an easy API to add timers.
    i
cCs(tj|ƒ|_g|_g|_dS(N(Rt	GreenPooltpooltthreadsttimers(Rtthread_pool_size((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyR
Is	cOs?tj|||Ž}|jd|d|ƒ|jj|ƒ|S(Nt
initial_delaytperiodic_interval_max(RtDynamicLoopingCalltstartR tappend(RtcallbackR"R#RRttimer((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pytadd_dynamic_timerNs
cOs?tj|||Ž}|jd|d|ƒ|jj|ƒ|S(NtintervalR"(RtFixedIntervalLoopingCallR%R R&(RR*R'R"RRtpulse((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyt	add_timerVs
cOsT|jj|||Ž}t||dtƒ}|jj|ƒ|jt||ƒ|S(NR	(RtspawnRtFalseRR&R	R(RR'RRtgttth((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyt
add_thread^s
cCs|jj|ƒdS(N(Rtremove(RR((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyRescCs|jj|ƒdS(N(R R3(RR(((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyt
timer_donehscCstjƒ}xl|jD]`}|j|jkr5qny||ƒWqtjjk
r\qtk
rv||ƒqXqWdS(N(t	threadingtcurrent_threadRRteventlettgreenlettGreenletExitt	Exception(Rtaction_funct
on_error_functcurrenttx((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyt_perform_action_on_threadsks
cCs|jd„d„ƒdS(NcSs
|jƒS(N(R(R>((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyt<lambda>}scSs
tjdƒS(NsError stopping thread.(tLOGt	exception(R>((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyR@~s(R?(R((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyt
_stop_threads{scCs+x|jD]}|jƒq
Wg|_dS(N(R R(RR(((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pytstop_timers€scCs+|jƒ|r|jƒn
|jƒdS(sästop function has the option of graceful=True/False.

        * In case of graceful=True, wait for all threads to be finished.
          Never kill threads.
        * In case of graceful=False, kill threads immediately.
        N(RDRRC(Rtgraceful((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyR…s

cCssxV|jD]K}y|jƒWq
tjjk
r7q
tk
rTtjdƒq
Xq
W|jd„d„ƒdS(NsError waiting on timer.cSs
|jƒS(N(R(R>((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyR@ scSs
tjdƒS(NsError waiting on thread.(RARB(R>((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyR@¡s(	R RR7R8R9R:RARBR?(RR>((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyR–s
cCsMtjƒ}x:|jD].}|j|jkr5qn|jjstSqWtS(N(R5R6RRRtdeadRR/(RR=R>((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyt_any_threads_alive£scs¹|j‡fd†d„ƒ|jddƒ}|dkr>dS|jddƒ}tjd|ƒ}|jƒxF|jƒr´|jƒsštj	|ƒqont
jdƒ|jƒqoWdS(Ncs
|jˆŒS(N(R(R>(R(sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyR@¯scSs
tjdƒS(NsError canceling thread.(RARB(R>((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyR@°sttimeoutt	wait_timeitdurations)Cancel timeout reached, stopping threads.(
R?tgettNoneRt	StopWatchR%RGtexpiredR7tsleepRAtdebugR(RRRRHRItwatch((RsM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyR­s



N(RRRR
RLR)R-R2RR4R?RCRDR/RRRGR(((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyRBs							
	
(tloggingR5R7Rtoslo_serviceRt
oslo_utilsRt	getLoggerRRARtobjectRR(((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/threadgroup.pyt<module>s