Xjx&UddlmZdZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl m Z ddlmZmZdd lmZmZmZdd lmZdd lmZdd lmZdd lmZmZddlmZm Z m!Z!ddl"m#Z#m$Z$ddl%m&Z&ejNdk\r ddlm(Z(m)Z)nddl*m(Z(m)Z)dZ+edZ,e(dZ-e#dZ.de/d<e#dZ0de/d<e#dZ1de/d<ddd d"dZ2d#dZ3d$d Z4e5d!k(re4yy)%) annotations)current_default_process_limiterprocess_workerrun_syncN)deque)Callable) ModuleType)TypeVarcast) current_timeget_async_backendget_cancelled_exc_class)BrokenWorkerProcess) open_process)CapacityLimiter) CancelScope fail_after)ByteReceiveStreamByteSendStreamProcess)RunVarcheckpoint_if_cancelled)BufferedByteReceiveStream) ) TypeVarTupleUnpacki,T_RetvalPosArgsT_process_pool_workerszRunVar[set[Process]]_process_pool_idle_workersz$RunVar[deque[tuple[Process, float]]]_default_process_limiterzRunVar[CapacityLimiter]F) cancellablelimiterc Kdfd }td{tjd||ftj} tj t j }|xs t4d{|r|j\}jtt j"t%tt&j(t+}g} |r[||ddz t,krnH|j/\} }| j1j3| | j5| |r[t7d5| D]} | j9d{ dddnRj3|rt:j<d d t>g} tA| tBjDtBjD d{ tt j"t%tt&j(tGd 5jId d{} ddd dk7rtKd| tMt:jNddd}tjdt:jP|ftj}||d{jWt7| 5 ttX||d{vr|j5t+fcdddcdddd{S7$#t$r[tt}tjt j|tjY4wxYw7&77#1swY4xYw77{#1swY{xYw7 #tJtSf$rtT$r!}j1tKd|d}~wwxYw77#vr|j5t+fwwxYw#1swYnxYwdddd{7y#1d{7swYyxYww)a' Call the given function with the given arguments in a worker process. If the ``cancellable`` option is enabled and the task waiting for its completion is cancelled, the worker process running it will be abruptly terminated using SIGKILL (or ``terminateProcess()`` on Windows). :param func: a callable :param args: positional arguments for the callable :param cancellable: ``True`` to allow cancellation of the operation while it's running :param limiter: capacity limiter to use to limit the total amount of processes running (if omitted, the default limiter is used) :raises NoEventLoopError: if no supported asynchronous event loop is running in the current thread :return: an awaitable that yields the return value of the function. cK j|d{jddd{}|jd\}}|dvrtd|j t |d{}tj |}|dk(rt|t sJ||S77~78#t $r} j jtd5jd{7dddn #1swYnxYwn#t$rYnwxYwt|trt|d}~wwxYww) N 2 )RETURN EXCEPTION-Worker process returned unexpected response: Tshieldr,)send receive_untilsplit RuntimeErrorreceive_exactlyint BaseExceptiondiscardkillracloseProcessLookupError isinstancerrpickleloads) pickled_cmdresponsestatuslengthpickled_responseexcretvalbufferedprocessstdinworkerss d/mnt/ssd/data/Dropbox/adrian/vault-secondbrain/venv/lib/python3.12/site-packages/anyio/to_process.pysend_raw_commandz"run_sync..send_raw_commandFsD 3**[) ) )%33E2>>H%^^D1NFF66"CH<P&.%=%=c&k%JJ ./ \ !fm4 44LM9 *> K 3 OOG $   -+!..***+++%  #689)s2 3sEB6B0B6B2AB6;B4<B60E0B62B64B66 E ?ED-DDD DD DE D)&E(D))EE  ENrun)protocolrr Tr.z-uz-m)rGstdoutREADY r-__main____file__initz*Error during worker process initialization)r>bytesreturnobject)-rr<dumpsHIGHEST_PROTOCOLr!getr" LookupErrorsetrr#setup_process_pool_exit_at_shutdownrpop returncoder rrGrrrMr WORKER_MAX_IDLE_TIMEpopleftr8removeappendrr9sys executable__name__r subprocessPIPErreceivergetattrmodulespathrr6addr)funcr$r%argsrJrequest idle_workers idle_sincenowkilled_processesprocess_to_killkilled_processcommandmessagemain_module_pathpickledrCrErFrGrHs @@@@rIrr-s2B " ###llE4.9P9PQGI'++-1557 ;9;GCGC"."2"2"4 GZ!!)^W]];4*GNN; #n24 "\!_Q//2FF2>2F2F2H/OZ#((*NN?3$++O<#!-6*:6,3355566 NN7 #7:~~tT8$Q)AO1OOO A:OOO Q(P>*P?PPP>& Q/ Q1;P<Q1A N($Q1'N((Q1.N11N; 6 QOO OP0P  PQPQ1"P;;P>>Q Q Q1QQ1Q."Q% #Q.*Q1c tjS#t$r;tt j xsd}tj ||cYSwxYw)z Return the capacity limiter that is used by default to limit the number of worker processes. :return: a capacity limiter object )r#rYrZros cpu_countr[)r%s rIrrsM'++-- !",,."5A6 $$W-sAAAcztj}tj}ttj t_ttj dt_ttj dt_|jjd dx}} tj|j^}}|dk(r |\}} ||}n|dk(r|\t_ }tjd=|rtjj|rd td} t!j"|d} | j$j'| | xtjd<tjd< |'d} tj*|tj,} n&d } tj*|tj,} |jjd | t/| fz|jj| t1|t2r|#t$r }|}Yd}~d}~wwxYw#t$r }|}Yd}~d}~wwxYw#t($rYyt$r }|}Yd}~d}~wwxYw#t$r2}|}d} tj*|tj,} Yd}~d}~wwxYw) NwrPrKrSrQ __mp_main__)run_namer,r+s%s %d )rcrGrMopenr|devnullstderrbufferwriter<loadr6rkrjisfiler runpyrun_path__dict__updateEOFErrorrWrXlenr; SystemExit) rGrMrD exceptionrvrnrmrCrxmain main_contentr@rys rIrrs< IIE ZZFRZZ CIbjj#&CJbjj#&CJ MM # !! (#[[6NGd %! d$!4[FF"-1**KK +#7G(H()-8',~~,}(  ,,\:OSS J/#++m2L A$% ,,y&2I2IJ" ,,vv/F/FG  J&#g,)??@ G$ i ,Oa %$ #I$ )($' (3   I @ AI!Fll3(?(?@G Ash*!IH-"A#IAI?- I6H==I III I<(I<0I77I<? J:(J55J:rQ) rmz&Callable[[Unpack[PosArgsT]], T_Retval]rnzUnpack[PosArgsT]r$boolr%zCapacityLimiter | NonerUr)rUr)rUNone)6 __future__r__all__r|r<rrfrc collectionsrcollections.abcrtypesr typingr r _core._eventloopr rr_core._exceptionsr_core._subprocessesr_core._synchronizationr _core._tasksrrabcrrrlowlevelrrstreams.bufferedr version_inforrtyping_extensionsr_rr r!__annotations__r"r#rrrrerIrs "    $ VV2-31;;57w++6 :   #.45L.M+MCI D@5;;U4V1V &* OC 0OC OCOC$ OC  OCd  :z zr