Managing Ensemble Productions - InterSystems Documentation
Managing Ensemble Productions - InterSystems Documentation
Managing Ensemble Productions - InterSystems Documentation
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
What to Manage<br />
For example, an item could be in a Read timeout or some other busy state that lasts longer than the Update timeout.<br />
Another example is a configuration item the scheduler starts cannot be stopped by the scheduler if the item is in the<br />
middle of a synchronous call. The configuration item must wait for a response to the call before the scheduler stops<br />
it. See the “Working with Messages” section.<br />
• The other is if the scheduler itself is prevented from waking up at the intended time. Examples of conditions that could<br />
cause this: the CPU is busy, a queue builds up of the alarm clock messages for the scheduler, the scheduler is itself<br />
disabled or crashed, the production is down, etc. The scheduler is not guaranteed to wake up during any particular<br />
interval, and when it does wake up it only looks at the intended state for the current moment, not at any history of when<br />
it should have woken up.<br />
Use of the schedule setting is not intended or designed as an event signaling device. It is intended to accommodate planned<br />
outages and scheduled intervals of activity or inactivity. If you have events that you must trigger at a particular time or as<br />
soon as possible thereafter, <strong>Ensemble</strong> offers better alternatives:<br />
• You can configure your business service to use an inbound adapter with the implemented OnTask() method where<br />
you call the business service. <strong>Ensemble</strong> provides classes for many types of inbound adapters. See the Ens.InboundAdapter<br />
entry in the Class Reference and the books in the <strong>Ensemble</strong> Adapter Guides set for details.<br />
• If you do not want to use an adapter, you can call the business service programmatically and schedule it to run using<br />
the [Home] > [Task Manager] page (/csp/sys/op/UtilSysTaskHome.csp) in the Management Portal. This gives you finer<br />
control in situations such as the system being down at 1:00 a.m.<br />
The recommended approach is to configure the business service with Pool Size = 0 and then use the Task Manager to<br />
launch a task that calls CreateBusinessService on it and invokes ProcessInput() on the resulting service instance<br />
object. The advantage of calling a business service this way is that you call it at the time you want and it runs only<br />
once. If <strong>Ensemble</strong> happens to be down at that time, your task can register an error. See the following sections for<br />
details:<br />
– “Using the Task Manager” section of the “<strong>Managing</strong> Caché” chapter of the Caché System Administration Guide<br />
– “Invoking a Business Service Directly” section of the “Business Services” chapter of Developing <strong>Ensemble</strong><br />
<strong>Productions</strong><br />
3.3.5 Assigning Configuration Items to Categories<br />
The [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration] page offers a Category field for each configuration item. This is an optional<br />
text label that you can use to visually group configuration items within the production diagram.<br />
Once you have provided Category values for configuration items, when you are viewing the production configuration diagram<br />
you can right-click on the background of the diagram. Choose Show Category and a category name from the context menu.<br />
The diagram changes to reveal only those configuration items that match the Category name you have just selected. The<br />
diagram displays the Category name at the top left of the diagram, below the production name.<br />
Alternatively, when you choose Show Category, select All (the first option) to reveal all configuration items, regardless of<br />
category.<br />
Each category name is case-sensitive, and it may contain spaces. You may assign a configuration item to more than one<br />
category by providing a comma-separated list of category values in the Category field. Do not use leading or trailing spaces<br />
around these commas, as these are interpreted as characters within the label and can prevent what would otherwise be a<br />
proper match. Use:<br />
TEST,My Test Category,MINE<br />
Not:<br />
TEST, My Test Category , MINE<br />
28 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>