Hi Community members,
I am new to PyTango and exploring how multi-threading works in Python/PyTango.
I want to do some processing in parallel when a command is invoked on the TANGO device. For this, I created a device server, with two spectrum attributes and one command. The command is executed to copy source spectrum attribute to the Target spectrum attribute, using two threads (each thread to change one element of the spectrum attribute) running in parallel.
While the threads are running, “device timed out” error is observed which pauses working of the main device (ZMQ) thread and ATKPanel/Device server becomes unresponsive.
After the custom thread’s execution is completed, main ZMQ thread resumes and ATKPanel is able to reflect the changes.
The test device code and error screenshot are attached to the post.
Can anyone point me to a direction on how to resolve this issue? Is there any way to run threads in parallel without the main ZMQ thread being paused?
Thanks & Regards,
Apurva Patkar