Customized Task to run in background

Hi All,

I am using Rational DOORS 9.6. I have a requirement to run few customized tasks in background. 

Current scenario: Two custom menus - (MyAdd-on and MyATR ) are added in the display in rational DOORS module. These menus are defined and associated with DXL scripts to perform some customized tasks such as report, import/export from another tool. When these tasks are running it takes several minutes to hours to complete. During this period you need to wait for the task to complete no other task can be performed. As DOORS hangs.

Requirement details: To send the custom tasks to run in background so that other tasks can be performed from rational DOORS.

 

Regards,

Sousan


sousan - Mon Apr 22 07:42:57 EDT 2019

Re: Customized Task to run in background
llandale - Mon Apr 22 15:50:56 EDT 2019

DOORS running DXL is single threaded; you cannot realistically have two DXL both running.  You can of course have one running and a different one displaying a Dialog; but that dialog (in fact all dialogs and the GUI) are disabled while any DXL is "running".
You can of course run a 2nd DOORS instance, minimize it, and ignore it.  Gets a little trickier doing so if you are running Citrix.

"Background" DOORS processes can also be run in "batch mode", but that requires you hard-coding certain user passwords in some doors.exe shortcut.  Also, batch mode has no normal DOORS GUI and sadly some certain functions don't work (such an "ack" command).  Also DXL that runs "on demand" might not run in "Batch Mode".  If you can get around all that, you could have Scheduled Tasks run this thing at night.  Otherwise you are stuck with the 2nd DOORS instance, running your script "on demand".

 

Having said that, it is very likely your DXL has some serious inefficiency in it causing it to run so long.  3 common inefficiencies are:
[] Closing a module at the bottom of a loop that will subsequently be opened at the top of the loop.

[] Failing to close modules at all, and running out of memory.

[] Using string concatenation inside big loops, instead of using Buffer, and running out of memory

[] Failing to "delete" allocated units (such as a Skip or Buffer), and the script ends up with 1000s of residual such allocated units, causing extremely slow "create" commands.

[] Opening modules allowing the default view to be loaded, and that view contains inefficient Attr-DXL or layouts

OK, 5.

-Louie

Re: Customized Task to run in background
sousan - Tue Apr 23 00:03:04 EDT 2019

llandale - Mon Apr 22 15:50:56 EDT 2019

DOORS running DXL is single threaded; you cannot realistically have two DXL both running.  You can of course have one running and a different one displaying a Dialog; but that dialog (in fact all dialogs and the GUI) are disabled while any DXL is "running".
You can of course run a 2nd DOORS instance, minimize it, and ignore it.  Gets a little trickier doing so if you are running Citrix.

"Background" DOORS processes can also be run in "batch mode", but that requires you hard-coding certain user passwords in some doors.exe shortcut.  Also, batch mode has no normal DOORS GUI and sadly some certain functions don't work (such an "ack" command).  Also DXL that runs "on demand" might not run in "Batch Mode".  If you can get around all that, you could have Scheduled Tasks run this thing at night.  Otherwise you are stuck with the 2nd DOORS instance, running your script "on demand".

 

Having said that, it is very likely your DXL has some serious inefficiency in it causing it to run so long.  3 common inefficiencies are:
[] Closing a module at the bottom of a loop that will subsequently be opened at the top of the loop.

[] Failing to close modules at all, and running out of memory.

[] Using string concatenation inside big loops, instead of using Buffer, and running out of memory

[] Failing to "delete" allocated units (such as a Skip or Buffer), and the script ends up with 1000s of residual such allocated units, causing extremely slow "create" commands.

[] Opening modules allowing the default view to be loaded, and that view contains inefficient Attr-DXL or layouts

OK, 5.

-Louie

Hi Louie,

Thank you so much for the valuable information. I will work on DOORS performance.

 

Regards,

Sousan