I’m using callbacks for 2 programs in a Digi IX14 device.
They suddenly stop working, I mean they work for a while, but at a random basis they stop working, when I make SCI requests from Digi Remote suddenly they are no longer accesible, even if the container program where they are registered are still running without errors.
Maybe I’m missing something? any configuration to prevent callbacks being dropped without any explanation?
For registering the callbacks I use
from digidevice.device_request import register as register_callback
register_callback(“launcher”, self.launcher)
I don’t event have a unregister method in my program, so I find it unlikely i’m unregistering by accident.
This is my SCI request:
{"action": "check_status"}
When the callbacks is working I get a correct answer:
{"status": "ok", "pid": 22633}
But when it stops working, the answer is like if the callback was never registered:
CCAPI Error 7 (CCAPI_RECEIVE_ERROR_INVALID_DATA_CB) while handling target 'launcher'
Everytime it happens I solve it by restarting the container process (the .py file), my program is running in a custom init script:
python /etc/config/scripts/program.py
Could there be a chance this is a bug in the OS or in the python library? I’ve been struggling with this issue for 10 months, I even isolated the callback in a file that only contains the callback, and still eventually it gets unregistered.
Any help would be appreciated.
Have a nice day and thank you.