
    \i                         % S r SSKrSSKrSSKrSSKJrJr  0 r\\\\\4   4   \	S'   \R                  " 5       rS\4S jrS\S\\\4   4S jrS\S\4S	 jrS\S\4S
 jrS\S\\\\\4   4   4S jrg)u  
任务管理模块

本模块提供任务状态的存储和管理功能，用于跟踪生成任务的状态。

核心功能：
---------
1. 任务状态存储 (tasks_status)
   - 存储所有生成任务的状态信息
   - 支持多任务并发管理
   - 线程安全的状态更新

2. 任务ID生成 (create_task_id)
   - 生成唯一的任务标识符
   - 使用时间戳和随机数保证唯一性
    N)DictAnytasks_statusreturnc                      [         R                   R                  5       R                  S5      n [        [        R
                  " 5       5      nU  SU 3$ )u   
创建唯一的任务ID

Returns:
    str: 唯一的任务ID，格式为时间戳-UUID

Example:
    >>> task_id = create_task_id()
    >>> print(task_id)
    '20240101120000-a1b2c3d4-e5f6-7890-abcd-ef1234567890'
z%Y%m%d%H%M%S-)datetimenowstrftimestruuiduuid4)	timestamp	unique_ids     D   /Users/yu22x/Desktop/ddd_副本138/ctf/app/routes/generator/tasks.pycreate_task_idr      sD     !!%%'00@IDJJL!I[)%%    task_idc                     [            [        R                  U 5      nU(       a  UR                  5       OSsSSS5        $ ! , (       d  f       g= f)u   
获取任务状态（线程安全）

Args:
    task_id: 任务ID
    
Returns:
    Dict: 任务状态字典的副本，如果任务不存在则返回 None
N)_tasks_lockr   getcopy)r   tasks     r   get_taskr   1   s.     
("tyy{ 
s	   .?
Ac                     [            U [        ;  a
   SSS5        g[        U    R                  U5        [        R                  R	                  5       [        U    S'    SSS5        g! , (       d  f       g= f)u   
更新任务状态（线程安全）

Args:
    task_id: 任务ID
    **kwargs: 要更新的字段
    
Returns:
    bool: 更新是否成功（任务是否存在）
NF
updated_atT)r   r   updater	   r
   )r   kwargss     r   update_taskr   A   sY     
,& 
 	W$$V,.6.?.?.C.C.EWl+ 
s   A&AA&&
A4c                 |    [            U [        ;   a  [        U 	  SSS5        g SSS5        g! , (       d  f       g= f)u   
删除任务（清理已完成的任务，线程安全）

Args:
    task_id: 任务ID
    
Returns:
    bool: 删除是否成功（任务是否存在）
NTF)r   r   )r   s    r   delete_taskr!   U   s0     
l"W% 
 	 
s   --
;user_idc           
         [            [        R                  5        VVs0 s H>  u  p[        UR	                  S5      5      [        U 5      :X  d  M.  XR                  5       _M@     nnnUsSSS5        $ s  snnf ! , (       d  f       g= f)u   
获取用户的所有任务（线程安全）

Args:
    user_id: 用户ID
    
Returns:
    Dict: 该用户的所有任务，格式为 {task_id: task_status}
    返回的是任务状态的副本
r"   N)r   r   itemsr   r   r   )r"   r   task_status
user_taskss       r   get_user_tasksr'   f   sv     
 )5(:(:(<
(<$;??9-.#g,> (G%%''(< 	 

  

 
s"   A8-A2A2$A82A88
B)__doc__r   r	   	threadingtypingr   r   r   r   __annotations__Lockr   r   r   boolr   r!   r'    r   r   <module>r/      s   "     +-d3S#X&' , nn& &$-c -d38n -  4 (  "C Dd38n)<$= r   