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óddddgZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
dd	lmZddlZdd
lmZddlmZddlmZdd
lmZejeƒZdZe	jdddddddƒgZdejfd„ƒYZ de fd„ƒYZ!de fd„ƒYZ"de fd„ƒYZ#de$fd„ƒYZ%de$fd„ƒYZ&ddd„Z(ej)ej*ƒdej+e&fd „ƒYƒZ,dS(!tExecutorLoadFailuretMessageHandlingServertMessagingServerErrortServerListenErroriÿÿÿÿN(tcfg(tservice(t
eventletutils(t	timeutils(tdriver(tbase(t_LW(t
exceptionsitexecutor_thread_pool_sizetdefaulti@tdeprecated_nametrpc_thread_pool_sizethelpsDSize of executor thread pool when executor is threading or eventlet.cBseZdZRS(s4Base class for all MessageHandlingServer exceptions.(t__name__t
__module__t__doc__(((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyR=scBseZdZd„ZRS(s&Raised if an executor can't be loaded.cCs<d||f}tt|ƒj|ƒ||_||_dS(Ns Failed to load executor "%s": %s(tsuperRt__init__texecutortex(tselfRRtmsg((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyRDs	(RRRR(((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyRAscBseZdZd„ZRS(s*Raised if we failed to listen on a target.cCs<d||f}tt|ƒj|ƒ||_||_dS(Ns#Failed to listen on target "%s": %s(RRRttargetR(RRRR((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyRNs	(RRRR(((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyRKstTaskTimeoutcBseZdZRS(s6Raised if we timed out waiting for a task to complete.(RRR(((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyRUst_OrderedTaskcBsSeZdZdZdZdZd„Zd„Zed„ƒZ	d„Z
d„ZRS(	s»A task which must be executed in a particular order.

    A caller may wait for this task to complete by calling
    `wait_for_completion`.

    A caller may run this task with `run_once`, which will ensure that however
    many times the task is called it only runs once. Simultaneous callers will
    block until the running task completes, which means that any caller can be
    sure that the task has completed after run_once returns.
    iiicCs;tt|ƒjƒ||_tjƒ|_|j|_dS(sfCreate a new _OrderedTask.

        :param name: The name of this task. Used in log messages.
        N(	RRRt_namet	threadingt	Conditiont_condtINITt_state(Rtname((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyRis	cCs4d}|dkr1tjd|ƒ}|jƒnxü|ƒr/|dk	r|jƒrtjtdƒ|ƒtjdj	t
jƒƒƒd}n|dk	r·|jƒr·t|ƒ‚ng}|dk	rß|j
|jƒƒn|dk	r|j
|jƒƒnd}|rt|ƒ}n|jj|ƒq4WdS(sÆWait while condition() is true. Write a log message if condition()
        has not become false within `log_after` seconds. Raise TaskTimeout if
        timeout_timer expires while waiting.
        itdurationsPossible hang: %stN(tNoneRt	StopWatchtstarttexpiredtLOGtwarningR
tdebugtjoint	tracebacktformat_stackRtappendtleftovertminR twait(Rt	conditionRt	log_aftert
timeout_timert	log_timerttimeoutsR3((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyt_waitts(
	cCs|j|jkS(N(R"tCOMPLETE(R((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pytcomplete•sc	sFˆj7d|ˆjf}ˆj‡fd†|||ƒWdQXdS(sgWait until this task has completed.

        :param caller: The name of the task which is waiting.
        :param log_after: Emit a log message if waiting longer than `log_after`
                          seconds.
        :param timeout_timer: Raise TaskTimeout if StopWatch object
                              `timeout_timer` expires while waiting.
        s %s is waiting for %s to completecsˆjS(N(R;((R(sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyt<lambda>¤sN(R RR9(RtcallerR5R6R((RsJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pytwait_for_completion™s	
c	sòˆjãˆjˆjkr§ˆjˆ_ˆjjƒz
|ƒ}Wdˆjjƒˆjˆ_ˆjjƒX|dk	rèˆjjƒz|ƒWdˆjjƒXqènAˆjˆjkrèdˆj	}ˆj
‡fd†|||ƒnWdQXdS(s×Run a task exactly once. If it is currently running in another
        thread, wait for it to complete. If it has already run, return
        immediately without running it again.

        :param fn: The task to run. It must be a callable taking no arguments.
                   It may optionally return another callable, which also takes
                   no arguments, which will be executed after completion has
                   been signaled to other threads.
        :param log_after: Emit a log message if waiting longer than `log_after`
                          seconds.
        :param timeout_timer: Raise TaskTimeout if StopWatch object
                              `timeout_timer` expires while waiting.
        Ns,%s is waiting for another thread to completecsˆjˆjkS(N(R"tRUNNING((R(sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyR<Ïs(R R"R!R?treleasetacquireR:t
notify_allR&RR9(RtfnR5R6tpost_fnR((RsJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pytrun_once§s&





(RRRR!R?R:RR9tpropertyR;R>RE(((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyRYs
		!	t_OrderedTaskRunnercBs/eZdZd„Zd„Zed„ƒZRS(s/Mixin for a class which executes ordered tasks.cOs‚tt|ƒj||Žgtj|ƒD]3\}}tj|ƒr)t|dtƒr)|^q)|_|j	ƒt
jƒ|_dS(Nt_ordered(
RRGRtinspectt
getmemberstismethodtgetattrtFalset_taskstreset_statesRtLockt_reset_lock(RtargstkwargsR#tmember((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyRÖs!
cCsd„|jDƒ|_dS(NcSsi|]}t|ƒ|“qS((R(t.0ttask((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pys
<dictcomp>ås	(RNt_states(R((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyROãscs+tjˆƒ‡‡‡‡fd†ƒ}|S(Ncsêˆj.ˆdk	r3ˆjˆjr3ˆjƒnWdQXˆj}ˆjdtƒ}ˆjddƒ}d}|dk	r—tjd|ƒ}|j	ƒnˆdk	r½|ˆj
ˆ||ƒn|ˆj‡‡‡‡fd†||ƒdS(NR5ttimeoutR$csˆˆˆˆŽS(N(((RRRCRSR(sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyR<
s(RQR&RWR;ROtpoptDEFAULT_LOG_AFTERRR'R(R>RE(RRRRStstatesR5RXR6(tafterRCtreset_aftertstate(RRRSRsJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pytwrapperês 

	


(t	functoolstwraps(RCR^R\R]R_((R\RCR]R^sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pytdecorate_orderedçs'%(RRRRROtstaticmethodRb(((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyRGÓs	
	cs‡‡fd†}|S(s>A method which will be executed as an ordered task. The method will be
    called exactly once, however many times it is called. If it is called
    multiple times simultaneously it will only be called once, but all callers
    will wait until execution is complete.

    If `after` is given, this method will not run until `after` has completed.

    If `reset_after` is given and the target method has completed, allow this
    task to run again by resetting all task states.

    :param after: Optionally, the name of another `ordered` method. Wait for
                  the completion of `after` before executing this method.
    :param reset_after: Optionally, the name of another `ordered` method. Reset
                        all states when calling this method if `reset_after`
                        has completed.
    cs/t|dtƒ|j}tj||ˆˆƒS(NRH(tsetattrtTrueRRGRb(RCR^(R\R](sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyRH#s	((R\R]RH((R\R]sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pytorderedscBs›eZdZdd„Zd„Zejd„ƒZejd„ƒZe	ddƒdd„ƒZe	d	d
ƒd„ƒZe	d	dƒd„ƒZ
d
„ZRS(s½Server for handling messages.

    Connect a transport to a dispatcher that knows how to process the
    message using an executor that knows how the app wants to create
    new tasks.
    tblockingcCs|j|_|jjtƒ||_||_||_|jdkrhtjddddddtƒn+|jdkr“t	j
d	d
gddƒnd|_yt
jd
|jƒ}Wn%tk
rÜ}t|j|ƒ‚nX|j
|_d|_t|_tt|ƒjƒdS(sUConstruct a message handling server.

        The dispatcher parameter is a DispatcherBase instance which is used
        for routing request to endpoint for processing.

        The executor parameter controls how incoming messages will be received
        and dispatched. By default, the most simple executor is used - the
        blocking executor. It handles only one message at once. It's
        recommended to use threading or eventlet.

        :param transport: the messaging transport
        :type transport: Transport
        :param dispatcher: has a dispatch() method which is invoked for each
                           incoming request
        :type dispatcher: DispatcherBase
        :param executor: name of message executor - available values are
                         'eventlet' and 'threading'
        :type executor: str
        Rgsoblocking executor is deprecated. Executor default will be removed. Use explicitly threading or eventlet insteadtversiontpiketremoval_versiontrockytcategoryteventlettexpected_patched_modulestthreadtwhats&the 'oslo.messaging eventlet executor'soslo.messaging.executorsN(tconft
register_optst
_pool_optst	transportt
dispatchert
executor_typet
debtcollectort	deprecatet
FutureWarningRtwarn_eventlet_not_patchedR&tlistenerRt
DriverManagertRuntimeErrorRt
_executor_clst_work_executorRMt_startedRRR(RRtRuRtmgrR((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyR6s0			
		
				cCs|jj|j|ƒdS(sNHandles on_incoming event

        :param incoming: incoming request.
        N(Rtsubmitt_process_incoming(Rtincoming((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyt_on_incomingkscCsdS(sXPerform processing incoming request

        :param incoming: incoming request.
        N((RR„((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyRƒrscCsdS(s]Creates listener object for polling requests
        :return: MessageListenerAdapter
        N((R((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyt_create_listenerysR]tstopcCsÿ|jrtjtdƒƒnt|_i}|jdkrV|pL|jj|d<n|j||_	y|j
ƒ|_Wn(tj
k
r¥}t|j|ƒ‚nXt|jdƒrè|jj}t|dƒrè|j|j_qèn|jj|jƒdS(	s˜Start handling incoming messages.

        This method causes the server to begin polling the transport for
        incoming messages and passing them to the dispatcher. Message
        processing will continue until the stop() method is called.

        The executor controls how the server integrates with the applications
        I/O handling strategy - it may choose to poll for messages in a new
        process, thread or co-operatively scheduled coroutine or simply by
        registering a callback with an event loop. Similarly, the executor may
        choose to dispatch messages in a new thread, coroutine or simply the
        current thread.
        sØRestarting a MessageHandlingServer is inherently racy. It is deprecated, and will become a noop in a future release of oslo.messaging. If you need to restart MessageHandlingServer you should instantiate a new object.RRmtmax_workerst_poll_style_listenert_message_operations_handlerN(s	threadingseventlet(R€R*R+R
ReRvRqRR~RR†R{tdriver_basetTransportDriverErrorRRthasattrR‰RŠt	_executorR(R…(Rtoverride_pool_sizet
executor_optsRtl((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyR(s 		R\R(cCs|jjƒt|_dS(sPStop handling incoming messages.

        Once this method returns, no new incoming messages will be handled by
        the server. However, the server may still be in the process of handling
        some messages, and underlying driver resources associated to this
        server are still in use. See 'wait' for more details.
        N(R{R‡RMR€(R((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyR‡²s	
cCs$|jjdtƒ|jjƒdS(s‘Wait for message processing to complete.

        After calling stop(), there may still be some existing messages
        which have not been completely processed. The wait() method blocks
        until all message processing has completed.

        Once it's finished, the underlying driver resources associated to this
        server are released (like closing useless network connections).
        R3N(RtshutdownReR{tcleanup(R((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyR3¾scCsdS(s_Reset service.

        Called in case service running in daemon mode receives SIGHUP.
        N((R((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pytresetÎsN(RRRRR…tabctabstractmethodRƒR†RfR&R(R‡R3R”(((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyR-s5	2(-t__all__R•R`RItloggingRR.Rwtoslo_configRtoslo_serviceRt
oslo_utilsRRtsixt	stevedoreRtoslo_messaging._driversR	R‹toslo_messaging._i18nR
toslo_messagingRt	getLoggerRR*RZtIntOptRstMessagingExceptionRRRRtobjectRRGR&Rft
add_metaclasstABCMetatServiceBaseR(((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/server.pyt<module>sD	

z?