1. Batch Queue Rev1_0_6 Release Information This version of the batch queue has been run and tested as a single stream batch queue, although it is designed and potentially capable of running as multiple streams. Each stream will run a single job at a time. 1.1. Prerequisites This facility was built and tested using the D_10_9_10 releae of the Rational Environment, although it should run on any Environment release later than D_9_25_1. 1.2. Documentation There is no formal documentation for the batch queue, but the spec for package Batch_Queue is well commented and should provide users with enough information to get started. 1.3. Changes from Rev1_0_3 Instead of having to manually create the !Machine.Batch_Streams directory when you install the Batch_Queue on a machine, it will automatically get created the first time the server is started. The batch_queue state is permanently saved after each update. The display procedure no longer shows jobs in the queue that have a status of done or cancelled. 1.4. Known Bugs and Limitations Currently only one batch stream is supported. Limit of 128 jobs queued in all streams. No plans to change this. Jobs that are waiting in the queue can be cancelled using Batch_Queue.Cancel. If the job is running, cancel will not kill the job. If the job is running, you can kill it using Job.Kill. To do this, use Batch_Queue.Display to get the Queue Id of the running job. Then use What.Users, and find the job named Queue Id# XXX, where XXX is the Queue Id number of the running job. Then use job.kill on this job. There are no plans to make Batch_Queue.Cancel kill running jobs. The batch queue does not restart jobs properly after machine crashes, jobs should not be submitted as restartable. 1.5. Installation This installation and release note can be found in the subsystem load view containing the released code. Once you have archived the subsystem to your machine you can cut and paste commands and Ada code from the on-line note. To get the batch queue installed on machines within Rational: 1. Log in as Operator 2. Copy the batch queue subsystem to your machine. Operator.Enable_Privileges; Archive.Copy ("!!rational!local.batch_queue", Options => "promote"); 3. Modify the default activity (!Machine.Release.Current.Activity). Activity.Add (Subsystem => "!Local.Batch_Queue", Load_Value => "!Local.Batch_Queue.Rev1_0_5", Spec_Value => "!Local.Batch_Queue.Rev1_0_Spec"); 4. Add a link to !Commands.Abbreviations to give users visibility to the spec for package Batch_Queue. Links.Add ("!Local.Batch_Queue.Rev1_0_Spec.Units.Batch_Queue"); 5. Modify !Machine.Initialize_Servers'Body to start the Batch Queue server. The following code can be inserted to the end of this procedure. begin Program.Run_Job (S => Program.Current (Subsystem => "!local.batch_queue", Unit => "start_queue", Parameters => "", Activity => "!machine.release.current.activity")); exception when others => Error_Reporting.Report_Error (Caller => "!Machine.Initialize_Servers.Start_Queue", Reason => Error_Reporting.Create_Condition_Name ("Unhandled_Exception", Error_Reporting.Problem), Explanation => Debug_Tools.Get_Exception_Name (True, True)); end; 6. Manually start the batch queue server by executing the Start_Queue procedure in !Local.Batch_Queue.Rev1_0_Spec.Units. You can either run it and detach using Control-G, or use Program.Run_Job. 7. Distribute this release note to the users on your machine. Table Of Contents 1. Batch Queue Rev1_0_6 Release Information 1 1.1. Prerequisites 1 1.2. Documentation 1 1.3. Changes from Rev1_0_3 1 1.4. Known Bugs and Limitations 1 1.5. Installation 2