change_event freezed when removing and recreating an attribut
|
|
---|---|
Hi Tangoers, I would like to submit a change_event problem and a (temporary dirty) solution Python sources are attached. My environnement : Python program on W7-64 Installed : TangoSetup-9.2.2_win64 pytango-9.2.0.Win32-py2.7.msi Same with Tango 8 and PyTango 8 Server Side (TestDeviceClass.py + TestDeviceImpl.py) : Create a dynamic attribut MOD1 in init_device data are pushed using push_change_event every 1s. every 10s, MOD1 is removed and recreated. Client Side (subscribe.py) Subscribe to MOD1 (in less than 10s) and print time Results : in nominal case, after 10s, client stop printing time. it takes usually more than 120s to restart the print. In rare cases, it takes few seconds. when client1 stop printing, if you relaunch a new client (client2), the client1 restart printing time along withclient2. In the server, if you add a subscribe_event / unsubscribe_event after remove / create, client doesn't freeze more than 3s ! Any help appreciated ! Christophe |
|
|
---|---|
Same problem and bypass with ATTR_EVENT_CONF Add self.pyds.subscribe_event("MOD1", PyTango.EventType.ATTR_CONF_EVENT, PrintEvent, stateless = True) in server unfreeze event manager. Regards, Christophe |
|
|
---|---|
|
Hi Christophe, Thanks for the report. I think the problem is coming from the C++ layer. Is it to much to ask to try to reproduce the problem with a C++ client (I guess you can keep the python server)? Cheers Tiago |
|
|
---|---|
Hi Tiago, I will try to reproduce with a C++ client as soon as possible. I let you informed. Christophe |