
    !hB                    h    S r SSKJr  SSKJr  SSKJrJr  \(       a  SSKJr  S
S jr	SS jr
SS jrg	)z;Some debugging functions for working with the Scrapy engine    )annotations)time)TYPE_CHECKINGAny)ExecutionEnginec                    / SQn/ nU H  n X#[        U5      4/-  nM     U$ ! [         a(  nX#[        U5      R                   S34/-  n SnAMG  SnAff = f)z,Return a report of the current engine status)ztime()-engine.start_timezlen(engine.downloader.active)zengine.scraper.is_idle()zengine.spider.namezengine.spider_is_idle()zengine._slot.closingzlen(engine._slot.inprogress)z%len(engine._slot.scheduler.dqs or [])zlen(engine._slot.scheduler.mqs)zlen(engine.scraper.slot.queue)zlen(engine.scraper.slot.active)zengine.scraper.slot.active_sizez!engine.scraper.slot.itemproc_sizez#engine.scraper.slot.needs_backout()z (exception)N)eval	Exceptiontype__name__)enginetestscheckstestes        Z/root/1688_scrapy/alibaba-scraper/venv/lib/python3.13/site-packages/scrapy/utils/engine.pyget_engine_statusr      sq    E" %'F	Bd4j)**F  M  	Ba!1!1 2,?@AAF	Bs   #
AAAc                V    [        U 5      nSnU H  u  p4X#S SU S3-  nM     US-  nU$ )NzExecution engine status

z<47z : 
)r   )r   r   sr   results        r   format_engine_statusr   *   sB    v&F%A	SzVHB'' IAH    c                ,    [        [        U 5      5        g )N)printr   )r   s    r   print_engine_statusr   4   s    	
v
&'r   N)r   r   returnzlist[tuple[str, Any]])r   r   r   str)r   r   r   None)__doc__
__future__r   r   typingr   r   scrapy.core.enginer   r   r   r    r   r   <module>r%      s(    A "  %2:(r   