I noticed a few days back when I would try to send a task to a device behind NAT, I was getting a channel error and that the change would get cached somewhere. The change was happening but the Genieacs server didn’t realise it so would keep trying. I didn’t pursue it far but the task wouldn’t show in the task list from the cli so I couldn’t delete it. It did look like every hour the task would return until the retries got to 4 or 5. I left it then as I assumed it was something I was doing when I was messing with the config.
The extensions are loaded on demand when they’re first called. Every genieacs-cwmp process may spawn one process per extension. So if you change the ext code while genieacs-cwmp is running you may end up with different versions of that extension. Which one is called depends on which particular genieacs-cwmp process is serving the request. So you should restart genieacs-cwmp whenever the extension scripts change.