
    fiy                     $    d Z ddlZd ZdddZdS )u   
利用多进行执行 js 代码方案

1. 未能解决 gevent 调用问题
2. 导致 js 代码执行缓慢
3. 该方案废弃，这里仅作参考

同时发现 gevent 里面无法调用异步的接口
    Nc                     ddl m}  |            }|                    |            |dk    r |d         }|dd         } |j        |g|R  S |dk    r|                    |d                   S t	          d|           )u0   在新进程中执行 JavaScript 代码的函数r   )	MiniRacercall   Nevalu   不支持的方法: )py_mini_racerr   r   r   
ValueError)js_code_strmethodargsr   js_codefn_namefn_argss          F/usr/local/lib/python3.11/dist-packages/akshare/utils/multi_decrypt.pyjs_executor_functionr      s    ''''''ikkGLLq'qrr(w|G.g....	6		||DG$$$888999       timeoutc                X   t           j                            d          5 }|                    t          | ||          }	 |                    |          cddd           S # t           j        j        $ r& |                    d           t          d          w xY w# 1 swxY w Y   dS )u  
    使用 ProcessPoolExecutor 在独立进程中执行 JavaScript

    参数:
        js_code_str: JavaScript 代码字符串
        method: 'call' 或 'eval'
        args: 如果 method 是 'call'，第一个参数是函数名，后续是函数参数
              如果 method 是 'eval'，只需提供一个参数：要评估的代码
        timeout: 超时时间（秒）

    返回:
        执行结果
    r   )max_workersr   NF)waitu   JavaScript 执行超时)
concurrentfuturesProcessPoolExecutorsubmitr   resultTimeoutErrorshutdown)r
   r   r   r   executorfutures         r   execute_js_in_executorr"       s     
		/	/A	/	>	> :(!5{FDQQ	:===11: : : : : : : : !. 	: 	: 	:5)))8999	:	: : : : : : : : : :s#   B A"":BBB#&B#)__doc__concurrent.futuresr   r   r"    r   r   <module>r&      sV        : : :" @B : : : : : : :r   