yj
2025-07-22 2a8d022a20f82c35e9df680dfb66c3c95863b190
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
§
e2hþãó„—dZddlZddlZddlmZddlmZddlmZddl    m
Z
ddl m Z Gd„d    ¦«Z e ¦«ZdS)
后台消息处理工作进程
éN)ÚSet)Úlogger)Úsettings)Ú redis_queue)Úmessage_processorcóH—eZdZdZd„Zd„Zd„Zd„Zd„Zde    fd„Z
de    fd    „Z d
S) Ú MessageWorkeru消息处理工作进程có—d|_t¦«|_t¦«|_t    j¦«|_dS)NF)ÚrunningÚsetÚworker_threadsÚ active_usersÚ    threadingÚLockÚlock)Úselfs ú6d:\project\python\ECloud\app\workers\message_worker.pyÚ__init__zMessageWorker.__init__s4€ØˆŒ Ý58±U´UˆÔÝ&)¡e¤eˆÔÝ”NÑ$Ô$ˆŒ    ˆ    ˆ    ócó—d|_tjd¦«tj|jd¬¦«}| ¦«tjd¦«dS)u启动工作进程Tu!消息处理工作进程已启动)ÚtargetÚdaemonu队列监控线程已启动N)r rÚinforÚThreadÚ_monitor_queuesÚstart)rÚmonitor_threads  rrzMessageWorker.starts]€àˆŒ ÝŒ Ð7Ñ8Ô8Ð8õ#Ô)°Ô1EÈdÐSÑSÔSˆØ×ÒÑÔÐåŒ Ð1Ñ2Ô2Ð2Ð2Ð2rcó̗d|_tjd¦«|jD],}| ¦«r| d¬¦«Œ-tjd¦«dS)u停止工作进程Fu'正在停止消息处理工作进程...é
©Útimeoutu!消息处理工作进程已停止N)r rrr Úis_aliveÚjoin)rÚthreads  rÚstopzMessageWorker.stop"sl€àˆŒ ÝŒ Ð=Ñ>Ô>Ð>ðÔ)ð    (ð    (ˆF؏ŠÑ Ô ð (Ø— ’  B Ñ'Ô'Ð'øåŒ Ð7Ñ8Ô8Ð8Ð8Ð8rcó—|jr‚    | ¦«tjd¦«nO#t$rB}t jdt|¦«›¦«tjd¦«Yd}~nd}~wwxYw|j°€dSdS)u6监控队列,为有消息的用户启动处理线程éu队列监控异常: rN)r Ú_cleanup_finished_threadsÚtimeÚsleepÚ    ExceptionrÚerrorÚstr)rÚes  rrzMessageWorker._monitor_queues.s«€àŒlð    ð ð ×.Ò.Ñ0Ô0Ð0õ”
˜1‘ ”   øåð ð ð Ý” Ð<µC¸±F´FÐ<Ð<Ñ=Ô=Ð=Ý”
˜2‘”øøøøð øøøðŒlð    ð    ð    ð    ð    s‰(2²
A>¼8A9Á9A>cóˆ—|j5d„|jD¦«}|xj|zc_ddd¦«dS#1swxYwYdS)u清理已完成的线程có:—h|]}| ¦«°|’ŒS©)r")Ú.0Úts  rú    <setcomp>z:MessageWorker._cleanup_finished_threads.<locals>.<setcomp>Cs%€ÐSÐSÐS aÀaÇjÂjÁlÄlÐS ÐSÐSÐSrN)rr )rÚfinished_threadss  rr(z'MessageWorker._cleanup_finished_threads@sš€à ŒYð    4ð    4ØSÐS¨4Ô+>ÐSÑSÔSÐ Ø Ð Ô Ð#3Ñ 3Ð Ô ð    4ð    4ð    4ñ    4ô    4ð    4ð    4ð    4ð    4ð    4ð    4ð    4øøøð    4ð    4ð    4ð    4ð    4ð    4s ˆ"7·;¾;Ú    from_usercóÖ—|j5||jvr%tjd|›¦«    ddd¦«dS|j |¦«ddd¦«n #1swxYwYt j|j|fd¬¦«}| ¦«|j5|j     |¦«ddd¦«n #1swxYwYtjd|›¦«dS)ub
        å¤„理指定用户的消息队列
 
        Args:
            from_user: ç”¨æˆ·ID
        u用户队列已在处理中: NT)rÚargsru#为用户启动消息处理线程: )
rrrrÚaddrrÚ_process_user_messagesrr )rr6Ú worker_threads   rÚprocess_user_queuez MessageWorker.process_user_queueFsš€ðŒYð    -ð    -ؘDÔ-Ð-Ð-Ý” ÐG¸IÐGÐGÑHÔHÐHØð    -ð    -ð    -ñ    -ô    -ð    -ð    -ð    -ð
Ô × !Ò ! )Ñ ,Ô ,Ð ,ð     -ð    -ð    -ñ    -ô    -ð    -ð    -ð    -ð    -ð    -ð    -øøøð    -ð    -ð    -ð    -õ"Ô(ØÔ.°i°\È$ð
ñ
ô
ˆ ð    ×ÒÑÔÐà ŒYð    3ð    3Ø Ô × #Ò # MÑ 2Ô 2Ð 2ð    3ð    3ð    3ñ    3ô    3ð    3ð    3ð    3ð    3ð    3ð    3øøøð    3ð    3ð    3ð    3õ    Œ ÐE¸)ÐEÐEÑFÔFÐFÐFÐFs(ˆ"A·AÁA!Á$A! CÃC ÃC c    óX—    tjd|›¦«|jr¥tj|¦«r,tjd|›¦«t jd¦«ŒHtj|dtj    ¦«stj
d|›¦«n,    tj |d¬¦«}|sCtj|d¦«tjd    |›¦«    tj|d¦«nÐtj |¦«}|rtjd
|›¦«ntj
d |›¦«n>#t$r1}tj
d |›d t|¦«›¦«Yd}~nd}~wwxYwtj|d¦«n#tj|d¦«wxYwt jd¦«|j°¥n>#t$r1}tj
d|›d t|¦«›¦«Yd}~nd}~wwxYw|j5|j |¦«ddd¦«n #1swxYwYtjd|›¦«dS#|j5|j |¦«ddd¦«n #1swxYwYtjd|›¦«wxYw)ub
        å¤„理用户消息的工作线程
 
        Args:
            from_user: ç”¨æˆ·ID
        u å¼€å§‹å¤„理用户消息队列: u ç”¨æˆ·æ­£åœ¨å¤„理中,等待: r'Tu设置处理状态失败: rr Fu#用户队列为空,结束处理: u消息处理成功: u消息处理失败: u处理用户消息异常: z, error=Néu ç”¨æˆ·æ¶ˆæ¯å¤„理线程异常: u ç”¨æˆ·æ¶ˆæ¯å¤„理线程结束: )rrr rÚ is_processingr)r*Úset_processing_statusrÚ queue_timeoutr,Údequeue_messagerÚprocess_single_messager+r-rrÚdiscard)rr6Ú message_dataÚsuccessr.s     rr:z$MessageWorker._process_user_messages`s›€ð6    HÝ ŒKÐF¸9ÐFÐFÑ GÔ GÐ Gà”,ñ) åÔ,¨YÑ7Ô7ðÝ”KРNÀ9РNРNÑOÔOÐOÝ”J˜q‘M”MMØõ#Ô8ؘt¥XÔ%;ñôðõ”LÐ!I¸iÐ!IÐ!IÑJÔJÐJÙðHå#.Ô#>¸yÐRTÐ#UÑ#UÔ#ULà'ðå#Ô9¸)ÀUÑKÔKÐKÝœ Ð$UÈ)Ð$UÐ$UÑVÔVÐVØõ  Ô5°iÀÑGÔGÐGÐGõ0ÔFÀ|ÑTÔTGàðIÝœ Ð$F¸9Ð$FÐ$FÑGÔGÐGÐGåœ Ð%G¸IÐ%GÐ%GÑHÔHÐHøøõ!ð[ð[ð[Ý”LÐ!Y¸iÐ!YÐ!YÕQTÐUVÑQWÔQWÐ!YÐ!YÑZÔZÐZÐZÐZÐZÐZÐZøøøøð[øøøõ
 Ô5°iÀÑGÔGÐGÐGø•KÔ5°iÀÑGÔGÐGÐGøøøõ”
˜1‘ ”  ðS”,ñ) øøõVð    Yð    Yð    YÝ ŒLÐW¸IÐWÐWÍsÐSTÉvÌvÐWÐWÑ XÔ XÐ XÐ XÐ XÐ XÐ XÐ Xøøøøð    Yøøøð
”ð 5ð 5ØÔ!×)Ò)¨)Ñ4Ô4Ð4ð 5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5õ ŒKÐF¸9ÐFÐFÑ GÔ GÐ GÐ GÐ Gøð”ð 5ð 5ØÔ!×)Ò)¨)Ñ4Ô4Ð4ð 5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5õ ŒKÐF¸9ÐFÐFÑ GÔ GÐ GÐ Gøøøs°‚BGÂAD<àGÃ6AD<Ä;FÄ<
E7Å'E2Å-FÅ2E7Å7FÅ:GÆF'Æ'GÇIÇ
HÇ'G=Ç8IÇ=HÈIÈ H3È3H7È:H7ÉJ)ÉJÉ: J)ÊJ
Ê
J)Ê J
ÊJ)N) Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrr%rr(r-r<r:r1rrr    r    s§€€€€€Ø"Ð"ð%ð%ð%ð     3ð    3ð    3ð
9ð
9ð
9ðððð$4ð4ð4ð G¨CðGðGðGðGð4=H°ð=Hð=Hð=Hð=Hð=Hð=Hrr    )rJr)rÚtypingrÚlogururÚconfigrÚapp.services.redis_queuerÚapp.services.message_processorrr    Úmessage_workerr1rrú<module>rQsÊðððð € € € ØÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØ0Ð0Ð0Ð0Ð0Ð0Ø<Ð<Ð<Ð<Ð<Ð<ðOHðOHðOHðOHðOHñOHôOHðOHðf‘”€€€r