wangrong
2026-08-24 beef6536e7c8dd3f5cbe8f73585611479910bea7
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
o
®Ž3je ã@shddlZddlZddlmZddlmZddlmZddlm    Z    ddl
m Z e  e ¡ZGdd„dƒZdS)    éN)ÚAny)Úsettings)ÚInitTaskDispatcher)Ú MqttService)Ú InitRegistryc @s¢eZdZdedededdfdd„Zdedee    ee
ffd    d
„Z ded e    ee
fd e dee    ee
fdBfd d„Z ddededeee    ee
feffdd„ZdS)ÚAutoInitServiceÚregistryÚ
dispatcherÚmqttÚreturnNcCs||_||_||_dS)N)rr    r
)Úselfrr    r
©r ú6D:\apps\smartlearning\server\app\services\auto_init.pyÚ__init__s
zAutoInitService.__init__Ú    device_idcCsj|j |¡}t d|t|ƒ¡|j |¡}| |¡t d|t|ƒ¡|jj|dt    t
 
¡ƒt|ƒd|S)Nz+Device init dispatched for %s (%d commands)z<Base courses sync dispatched for %s (%d courseTask messages)T)Zcourses_syncedZcourses_sync_atZcourses_sync_count) r    Údispatch_device_initÚloggerÚinfoÚlenÚdispatch_base_courses_syncÚextendrZ update_recordÚintÚtime)r rÚcommandsZcourse_commandsr r rÚ_run_full_inits   
ý
üzAutoInitService._run_full_initÚpayloadÚ    timestampcCs tjsdS|j |¡r dS|jjst d|¡dS| d¡}|jj    |d||ds*dSz| 
|¡}t  d|t |ƒ¡|WSt yO|j |¡t d|¡‚w)Nz)Skip auto-init for %s: MQTT not connectedÚmodeÚauto)Úsourcerrz5Auto-init completed for device %s (total %d commands)z:Auto-init failed for device %s, registry entry rolled back)rÚauto_init_enabledrÚis_initializedr
Ú    connectedrÚwarningÚgetÚ    try_claimrrrÚ    ExceptionÚremoveÚ    exception)r rrrrrr r rÚon_device_state,s&  
 
   ýzAutoInitService.on_device_stateFÚforcecCsr|j |¡r |s gdfS|r|j |¡|jj|dds gdfSz
| |¡}|dfWSty8|j |¡‚w)NZalready_initializedZmanual)rÚ
dispatched)rr!r'r%rr&)r rr*rr r rÚdispatch_manual_initDs 
 
  þz$AutoInitService.dispatch_manual_init)F)Ú__name__Ú
__module__Ú __qualname__rrrrÚstrÚlistÚdictrrrr)ÚboolÚtupler,r r r rr sþýü
û
20r)ÚloggingrÚtypingrÚ
app.configrÚapp.mqtt.init_dispatcherrÚapp.mqtt.clientrÚapp.services.init_registryrÚ    getLoggerr-rrr r r rÚ<module>s