Job Scheduling Server for Windows NT - JSS

(Demo Example)

 

 

The Demo package is a modified copy of the full commercial JSS system. Several functions (screens) have been removed from the Demo package or made "for read only". Below is a list of modifications made to the Demo package:

The commercial package (Network version) can schedule jobs on multiple Job Scheduling Server machines. Each Job Scheduling Server machine shares a single Scheduling Database over the network.

The security function of the commercial package allows the JSS administrator to
control the users that can access the JSS system. Users that are not included in the JSS Security Database have no access to the system. Users that are JSS Administrators have full access to the system. Regular authorized users have limited system access (Example: Regular authorized users can see and control only the jobs that they submitted).

JobModels are templates that define how to run jobs regularly without any operator intervention. Since the Demo package does not allow you to build new JobModels (only to browse them), the JobModels that are needed to run the demo example are pre-built on your machine during installation.

The System Configuration function allows an administrator to alter the JSS environment (the time the Schedule Cycle starts on regular basis, the number of jobs that can be submitted for concurrent execution on a specific JSS Server machine, and so on).


Hardware and Software Requirements

The package runs on the IBM PC compatible machines capable of running Windows NT Server or Windows NT Workstation operating systems (version 4.0 and above). Supported networks: NOVELL, IBM, and Microsoft LANs. SVGA monitor supporting high screen resolution (1024 by 768 pixels or higher) is recommended.

 

 

DEMO Installation

The DEMO package is installed on the C-drive into the following four directories:

c:\jssntb (Binary Directory), c:\jssntd (Data Directory), c:\jssntdmp (Dump Directory),

c:\jssntl (Local Directory). The required disk space is about 5 MB. The DEMO installation does not allow the user to change the installation location.

 

Perform the following steps in order to install the DEMO package:

Insert the first installation diskette into the A-drive and run SETUP.EXE. Follow the installation instructions. The JSS folder will be built at the end of the installation job.

Figure 1. JSS folder.

 

If you would like to place a JSS folder shortcut on the desktop (recommended), right click on the system menu box located on the left upper corner of the JSS folder. From the pop-up menu select "Create shortcut". The JSS folder shortcut will be placed on your desktop.

Reboot your computer.


Post-Installation Steps

 

Double click on the "Config" icon to activate the JSS Configuration screen.

Figure 3. JSS Configuration screen.

The screen included in the Demo package has all fields disabled or "Read only" and cannot be modified. Notice that the Schedule Cycle starts at 18:00:00 (6:00 PM) and that two jobs are allowed to be scheduled for concurrent execution on this machine. The print option is set to unload reports to disk files. "Paging users" function is not activated.

Exit this function.

Double click on the "Holidays" icon to activate the "Company Holidays" main screen.

Figure 4. Company Holiday Schedule.

This function is used to maintain the Company Holiday Schedule. Typically, no jobs are scheduled during holidays. One exception – jobs that are marked to run during holiday will be scheduled.

The Company Holiday Schedule for the current year must always be present, otherwise the system cannot be used. Click the "Add record" button to add a Holiday Record for the current year. The following screen will appear.

Figure 5. Add Holiday Record screen.

First, enter the year for which the Holiday Record is being built. Next, indicate all holiday days. To do this, click on a dotted line that represents the month you are going to set. In our example, we want to mark December 31 as a holiday day. Click on the December dotted line. The check buttons at the bottom of the screen that represent days of the selected month will become enabled. Check the day 31 and click the "Replace Line" button.

 

Figure 6. Add Holiday Record screen.

Days marked as holidays will appear within the selected month (December). The letter "H" means holiday. Click "Add record" button to place the record into the database. Exit this function.

Now, when the Holiday Record for the current year is present, we can initialize JSS databases.

This is done from the command line. Set the current directory to the JSS Data Directory c:\jssntd.

Type: JSSMINIT and press ENTER.

You should see the "Successful manual cycle initialization" message.

This completes the post-installation steps.

 

 

Browse the JobModels

The JobModel is a template that is built for each job that should run regularly basis. The JobModel defines when, where and how to run the job. The Demo installation pre-builds six JobModels: jssmod01, jssmod02, jssmod03, jssmod4, jssmod05, and jssmod06. Double click on the "Models" icon to browse installed JobModels.

Figure 7. JobModels Main Screen.

Select the jssmod01 JobModel and click the "Update Model" button. The Update Model screen will be displayed.

Figure 8. Update JobModel Screen.

 

The jssmod01 JobModel defines a 32-bit regular priority job. Jobs marked as a low priority run only at the time when the system idles. No Calendar or Scheduling Conditions are specified for the job. The path to the procedure to be executed is c:\jssntb\ntproc01.cmd, with one parameter (75) passed to the procedure. This job monitors the system resources (memory and page files). The parameter specifies how many time to perform the system resources measurement (in this case 75 times). Use any text editor and display the c:\jssntb\ntproc01.cmd procedure to see the processing logic that this job performs.

The "Execute time current directory" field specifies the run time directory (c:\jssntd). The job can be scheduled starting from 18:00:00 during the 6 hours time interval. If the job is not scheduled during this time, it will be purged from the Wait Queue as missed the scheduling window. The "Execute time CPU limit" specifies the number of CPU milliseconds the job is allowed to consume. This job is allowed to run for up to two CPU seconds (2000 milliseconds). If it runs longer, the job will be canceled by the system as a run-away job. All zeros in this field indicate no CPU limit. The job has no dependence conditions (scheduling of this job does not depend on other jobs return codes and [or] presence/absence of files).

Return to the main screen and select the next JobModel (jssmod02).

Figure 9. JobModel jssmod02.

 

This job executes the c:\jssntb\ntproc02.cmd procedure. Again, use the text editor to see the processing logic. The job has no CPU limit. No Dependence Conditions and no Calendar are attached to the job. Return to the main screen and select the next JobModel jssmod03.cmd.

Figure 10. JobModel jssmod03.

This job executes the c:\jssntb\ntproc03.cmd procedure. Again, use the text editor to see the processing logic. The job has no CPU limit. No Dependence Conditions specified for the job.

The job has an attached Calendar. Click the "Calendar" button to display the Calendar screen.

 

 

Figure 11. Job Calendar screen.

 

The calendar specifies that the job should run for every working day during the year. Return to the main screen and select the next JobModel jssmod04.cmd.

Figure 12. JobModel jssmod04.

 

This job has "Scheduling Conditions". Click the "Conditional Scheduling" button to display the Job Scheduling Conditions screen.

Figure 13. Conditional Scheduling screen.

The job will be scheduled if the following conditions are met:

Return to the main screen and browse the next JobModel (jssmod05.cmd)..

 

Figure 14. JobModel jssmod05.

 

Notice that this job has a chained job jssmod02 that should be submitted if this job ends with the return code that is greater or equal to 0000. Return to the main screen and select the last JobModel jssmod06.cmd.

 

 

Figure 15. JobModel jssmod06.

 

This JobModel schedules five jobs with the 10 seconds interval between submitted jobs.

Return to the main screen. Select the first JobModel jssmod01. Click the "Model document" button to see the document attached to the JobModel.

 

Figure 16. JobModel Document.

 

The Model Document lets you attach comments to a JobModel. The size of the attached document is limited to 5000 characters. Exit the JobModels function.

 

 

We are ready to run the schedule cycle. The schedule cycle starts at 18:00:00 (6 PM). At the beginning of each schedule cycle the package automatically submits the Initialization Job. This job searches the Model database, checks all conditions (such as calendar, etc.), and selects all jobs that must be scheduled for the next schedule cycle. For the DEMO example we will simulate these run time conditions and run the Initialization Job manually.

From the command line, make the JSS Data Directory (c:\jssntd) the current directory. Set your machine’s time to 18:00:00 (6 PM).

Type: JSSCYCIN.CMD and press enter. This will run the Initialization job, and you should see a "Successful Schedule Cycle initialization" message. Note. No JSS programs should run on the machine when the Initialization Job runs. If you get the Error Code = 19, terminate any JSS program currently running and submit the Initialization Job again.

Jobs that should run for this cycle are placed by the Initialization Job into the Wait Queue. Each job that is placed in the WaitQueue is assigned a unique number called JES (Job Execute Number). Multiple jobs that are built based on the same JobModel show sequential Instance numbers. Double click the "Waiting jobs" button to browse the jobs in the Wait Queue.

Figure 17. Jobs in the Wait Queue.

Select the j0000003 job and click the Browse button to see the selected job’s data.

 

Figure 18. Waiting Job.

Click the "Conditional Scheduling Screen" button to see the conditions that must be met in order for this job to be scheduled.

Figure 19. Job Scheduling Conditions.

 

Browse the rest of waiting jobs and return to the main screen. The system allows an operator to temporarily hold the job (preventing it to be scheduled) and subsequently release the job. Also, the operator can force a job to be scheduled (disregarding the job scheduling conditions) and remove this force. Let us hold the j0000009 job. Select the job and click the "Hold job" button.

Figure 20. Jobs in the Wait Queue.

The screen shows that the j0000009 is held. Exit the Waiting jobs function.

Double click the "Start cycle" icon to start the Job Scheduling Monitor program (JSS Monitor). JSS Monitor is the console program that can run as a Windows NT service (and when it runs a s a service it still can access all needed network resources). For the Demo example we run it as an application. You will see the JSS Monitor icon on the Task bar. JSS Monitor will start scheduling jobs. The icons of running jobs appear on the Task bar. The number of jobs that can be scheduled for concurrent execution on each machine is defined on the JSS Configuration Screen (two concurrently running jobs for this Demo example).

Click on any currently running job’s icon to see the job’s screen output (we suggest to click on the j0000001 job’s icon because this job runs long enough). You will see the job’s screen output.

The JSS network version allows you to see all jobs currently running on the network and their screen output. Double click on the "Running jobs" icon. Select a job from the list and click the "Browse job" icon. The following screen will be displayed.

Figure 21. Jobs running on the network.

Click the "BrowseLog" button to see the snap shot of the job’s screen output. Click the
"Refresh" button to update the job’s screen output data.

 

 

Figure 22. Job’s log.

From the screen that shows a list of jobs running on the network, an operator can remotely terminate any currently running job.

When you see no more icons of the running jobs, click the "Waiting jobs" icon to see the jobs in the Wait Queue.

 

 

 

 

Figure 23. List of jobs waiting to be scheduled.

As you can see, the held job still stays in the Wait Queue. Select the job and click the "Release Hold" button. The job will be scheduled. Now, double click the "Finish jobs" icon to see a list of the finished jobs.

Figure 24. List of finished jobs.

 

Figure 25. Finished job screen.

Click the "Display log" icon to see the screen output of the finished job.

Figure 26. Finished job’s log.

Double click the "Direct Sch" icon to schedule a job directly. The following screen will be displayed.

Figure 27. Direct Job Scheduling Main Screen.

Click the Model-Based job scheduling to schedule a job based on a JobModel. A list of available JobModels will be displayed.

Figure 28. Model-Based Direct Job Scheduling.

 

Select the jssmod02 and click the "Process" button.

 

 

Figure 29. Add a Model-based Record screen.

Change the Description field to "Model-based direct job scheduling" and click the "Add job" button. JSS will confirm that the job was added to the Wait Queue. Currently running JSS Monitor will automatically schedule the job. Activate the "Finish jobs" icon.

Figure 30. Jobs in the Finish Queue.

You can see than the job has been scheduled. Exit the "Finish jobs" function.

Double click the "Utilities" icon. The following screen will be displayed.

 

 

 

 

 

Figure 31. Job Scheduling Utilities Main Screen.

 

Click the "Schedule Cycle Statistics" quick button to see the schedule cycle statistics.

Figure 32. Job Scheduling Cycle Statistics Screen.

Return to the main screen and click the "Schedule Cycle Reports" quick button.

Figure 33. Job Scheduling Cycle Reports screen.

Click the "Print all finished jobs" icon. The reports will be unloaded to the disk files in the JSS Local Directory c:\jssntl. Below is the fragment of the c:\jssntl\j0000001.prf report file.

Figure 34. Fragment of the unloaded report file.

 

This is the end of the Demo example. The package has many functions not shown here (such as Paging the user based on the job’s return code, Job recovery, Security, and so on). Please terminate any JSS running jobs.

To uninstall the Demo package, double click on the "Uninstall" icon. Enter "Y" to confirm the uninstall request. On the next displayed screen click on the "Automatic" button. The Demo package will be removed from your machine. Reboot the machine. If you decide to install the Demo package again, remember to reboot the machine after the package was uninstalled before starting the installation.

We hope this DEMO will help you in your evaluation process. If more information is needed, you can purchase the User Manual (the cost of the manual including shipping is $25).

We are currently developing a Java-based Client sub-system that will allow an operator to remotely control the scheduling process over the Internet. Please visit our Web site for new announcements.

http://members.home.net/microwork