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    
contego / home / tvault / .virtenv / lib / python2.7 / site-packages / kombu / resource.pyc
Size: Mime:
ó
öEYc@@s·dZddlmZmZddlZddlmZddlmZddl	m
Z
mZddl
mZdd	lmZd
„Zdefd„ƒYZd
efd„ƒYZdS(u%Generic resource pool implementation.i(tabsolute_importtunicode_literalsN(tdequei(t
exceptions(tEmptyt	LifoQueue(tregister_after_fork(tlazycC@s&y|jƒWntk
r!nXdS(N(tforce_close_allt	Exception(tresource((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyt_after_fork_cleanup_resources
RcB@seZdZd„ZRS(u#Last in first out version of Queue.cC@stƒ|_dS(N(Rtqueue(tselftmaxsize((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyt_inits(t__name__t
__module__t__doc__R(((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyRstResourcecB@seZdZejZeZdddd„Zd„Z	d„Z
edd„Zd„Zd„Z
d„Zd„Zd	„Zd
„Zd„Zeeed„Zd
„Zed„ƒZejd„ƒZejjdƒreZeZdZd„Zd„ZnRS(uPool of resources.cC@sŠ||_|pd|_t|_|dk	r3|n|j|_tƒ|_tƒ|_	|jr|t
dk	r|t
|tƒn|jƒdS(Ni(
t_limittpreloadtFalset_closedtNonetclose_after_forkRt	_resourcetsett_dirtyRRtsetup(R
tlimitRR((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyt__init__#s		cC@stdƒ‚dS(Nusubclass responsibility(tNotImplementedError(R
((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyR2scC@sP|jr6t|jƒ|jkr6|j|jƒ‚n|jj|jƒƒdS(N(RtlenRt
LimitExceededRt
put_nowaittnew(R
((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyt_add_when_empty5s!c@sˆjrtdƒ‚nˆjrÑxÂyˆjjd|d|ƒ‰Wntk
r`ˆjƒq$Xyˆjˆƒ‰WnCtk
r¹t	ˆt
ƒr¦ˆjjˆƒn
ˆjˆƒ‚nXˆj
jˆƒPq$nˆjˆjƒƒ‰‡‡fd†}|ˆ_ˆS(uvAcquire resource.

        Arguments:
            block (bool): If the limit is exceeded,
                then block until there is an available item.
            timeout (float): Timeout to wait
                if ``block`` is true.  Default is :const:`None` (forever).

        Raises:
            LimitExceeded: if block is false and the limit has been exceeded.
        uAcquire on closed pooltblockttimeoutc@sˆjˆƒdS(uRelease resource so it can be used by another thread.

            Warnings:
                The caller is responsible for discarding the object,
                and to never use the resource again.  A new resource must
                be acquired if so needed.
            N(trelease((tRR
(sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyR(as(RtRuntimeErrorRRtgetRR%tpreparet
BaseExceptiont
isinstanceRR#R(RtaddR$(R
R&R'R(((R)R
sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pytacquire=s*		


		cC@s|S(N((R
R
((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyR,nscC@s|jƒdS(N(tclose(R
R
((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pytclose_resourceqscC@sdS(N((R
R
((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pytrelease_resourcetscC@s-|jr|jj|ƒn|j|ƒdS(uqReplace existing resource with a new instance.

        This can be used in case of defective resources.
        N(RRtdiscardR2(R
R
((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pytreplacews	cC@sJ|jr9|jj|ƒ|jj|ƒ|j|ƒn
|j|ƒdS(N(RRR4RR#R3R2(R
R
((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyR(€s
	cC@sdS(N((R
R
((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pytcollect_resourceˆscC@sÏ|jr
dSt|_|j}|j}xMy|jƒ}Wntk
rOPnXy|j|ƒWq+tk
rtq+Xq+xPy|jjƒ}Wnt	k
r¢PnXy|j|ƒWq{tk
rÇq{Xq{dS(u®Close and remove all resources in the pool (also those in use).

        Used to close resources from parent processes after fork
        (e.g. sockets/connections).
        N(
RtTrueRRtpoptKeyErrorR6tAttributeErrorRt
IndexError(R
tdirtyR
tdrestres((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyR‹s.				



cC@s°|j}|jrU||jkrU|rU|sLtdj||jƒƒ‚nt}n||_|r‰y|jƒWq‰tk
r…q‰Xn|jƒ||kr¬|jƒndS(Nu.Can't shrink pool when in use: was={0} now={1}(	RRR*tformatR7RR	Rt_shrink_down(R
Rtforcet
ignore_errorstresett
prev_limit((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pytresize¬s 			

cC@sR|j}|j:x2t|jƒ|jkrG|j|jjƒƒqWWdQXdS(N(RtmutexR!RRR6tpopleft(R
R
((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyR@¾s	
cC@s|jS(N(R(R
((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyRÅscC@s|j|ƒdS(N(RE(R
R((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyRÉsuKOMBU_DEBUG_POOLicO@sžddl}|jd}|_dj||jjƒGH|j||Ž}||_dj||jjƒGHt|dƒs„g|_n|jj	|j
ƒƒ|S(Niiu+{0} ACQUIRE {1}u-{0} ACQUIRE {1}uacquired_by(t	tracebackt_next_resource_idR?t	__class__Rt
_orig_acquiret_resource_idthasattrtacquired_bytappendtformat_stack(R
targstkwargsRHtidtr((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyR0Ós	cC@sY|j}dj||jjƒGH|j|ƒ}dj||jjƒGH|jd8_|S(Nu+{0} RELEASE {1}u-{0} RELEASE {1}i(RLR?RJRt
_orig_releaseRI(R
R
RSRT((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyR(ßs	N(RRRRR"RRRRRR%R0R,R2R3R5R(R6RRER@tpropertyRtsettertostenvironR+RKRURI(((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyRs0			1								!		(Rt
__future__RRRXtcollectionsRtRtfiveRRt
_LifoQueuetutils.compatRtutils.functionalRRtobjectR(((sC/home/tvault/.virtenv/lib/python2.7/site-packages/kombu/resource.pyt<module>s