· Mar 30, 2017



We have an HTTP business operation where the messages gets stuck and we had to recycle the operation to resume the processing. We are trying to work around this (for time being until we find the root cause) using below code which should recycle the component.  

Set tSC = ##class(Ens.Director).EnableConfigItem(pConfigItemName,0,1)
Set tSC = ##class(Ens.Director).EnableConfigItem(pConfigItemName,1,1)

However, it did not make any difference. When we manually recycle the operation, it prompts for the force update and we have to force it down. So I tried including Set tSC=##class(Ens.Job).Stop(pjobID,30,1)  after the call to disable the operation.

Set tSC = ##class(Ens.Director).EnableConfigItem(pConfigItemName,0,1)

Set tSC=##class(Ens.Job).Stop(pjobID,30,1)

Set tSC = ##class(Ens.Director).EnableConfigItem(pConfigItemName,1,1)

That gave ERROR <Ens>ErrJobRegistryNotClean: Job registration global for job  error.

Appreciate any assistance. 



Discussion (4)0
Log in or sign up to continue

It is not possible for a component within a production to update the production, which is what you are trying to do using the third parameter of EnableConfigItem equal to 1. That is why you are receiving ERROR <Ens>ErrJobRegistryNotClean (the process trying to update the production is trying to update itself).

You should update the production by running UpdateProduction via Job command, as follows:

Set tSC = ##class(Ens.Director).EnableConfigItem(pConfigItemName,0,0)
Set tSC = ##class(Ens.Director).EnableConfigItem(pConfigItemName,1,0)
job ##class(Ens.Director).UpdateProduction()

Hope this helps.