RoboJob Features

What's new, what's fixed

What's new in Version 2.0

New selections for scheduling
The list of possible choices has been expanded. To ensure compatibility with previous versions, they were added at the end of the selection list.
New Commandline Switches in Version 2.01
Tow new parameters are available.
Registration made easier
A new Registration dialog was added. Electronic registration is now available, no need to wait for the diskette.
What's fixed since Version 1.60
Some bugfixes

Command Line Arguments

Commandline arguments:

Note : No special order is required and they are independent.

/min switch: 
Starts RoboJob in minimized state: 
/max switch:
Starts RoboJob in maximized state: 
/h switch:
This puts all Jobs on hold. No scheduling will occur until you release them. 
QueueFileName
Specify an alternate filename for your Jobs. The file extension must be ".que". 

Note : This filename will be used to save the queue on program exit.

Environment Settings

Environment Settings

There is currently one environment variable supported.

SET OVERDUE_DELAY=seconds

Setting this variable stops scheduling for overdue Jobs for the specified number of seconds on program startup.

The Jobs Menu

Manipulating your Jobs

Add a Job
Presents the Job Property Dialog.
Delete a Job
Deletes the current selected Job. Depending on your options a confirmation dialog will be shown.
Edit a Job
Presents the Job Property Dialog. If the current selected Job is running, no changes can be made there.
Copy a Job
Makes a copy of the selected Job information and presents a prefilled Job Property Dialog. You must enter at least a new Job Title.
Suspend a Job
Suspends scheduling for selected Job.
Resume a Job
Puts selected Job in active state and evaluates missed events and holidays.
Hold all Jobs
Puts all Jobs in a suspended state. No scheduling occurs until one or more Jobs are released.
Release all Jobs
Sets all suspended Jobs to active and evaluates missed events and holidays.
Cancel a Job
Tries to cancel the selected Job. Ofcourse, the status of this Job must be "Running".
Exit
This terminates RoboJob. Depending on your selection from the Options Menu various program states are saved.
Alternate ways
The most common commands are available via a "popup menu". Click the right mouse button over a Job in the Status Display and select a command there. Last not least there is a toolbar for these commands available. Simple put the mouse over one of these buttons and a hint will tell you the meaning of this button. Putting the mouse over the countdown will tell you the name of the next Job to run.

Special Parameter Substitution

Job Parameters

Note : All parameters must be uppercase.

Most asked questions

Tips and tricks

Saving the queue
Use robocmd for this task. Generate a Job, program is robocmd, parameters \pipe\robojob sav(robojob.que) and schedule it as often as you like.
Starting Jobs anytime
Select the Job in the main display and press Ctrl U or use the second (usually right) mouse button to display a popup menu and select run.
Starting .cmd files
Enter the name of the .cmd file as program. No more need for quotes around names containing spaces.
Dependent Jobs
You can use any program or batch file. Use the substitution parameters to get the infos you need. If you have a program capable of calling a pager you can be notified when something goes wrong.
Summer and Winter time
Generate a Job which runs on the last Sunday in March and October. Use %MONTH% as parameter to distinguish between Summer and Winter.
A note about returncodes
Use the >0 with caution. it's usually safer to use !0 because it's possible for a program to return a negative value.

The Options Menu

Tailoring your preferences.

Sort options
Click here to get a submenu of available sort options.
Filter options
Presents a submenu where you can specify which fields should be shown in the Job Display. Checkmarks left of the field name show visible fields. Press Apply for changes to take effect.

Note : Your selections are preserved when Save Options is checked.

Confirmation on
This is a toggle. Default state is on.

Caution : When confirmation is off, you may delete or cancel the selected Job with a single mouseclick!

Write log file
You can toggle the writing of a log file. Log files are saved on a dayly basis. The name of the logfile consists of the basename of the program and the extension is the day of the year. Default state is on.
Set Font Colors
Presents the Font Color Dialog. You can change the color of fonts for Job display, log, the message area, date and time in the status bar. How to change fonts.
Set Background Colors
Presents the Background Color Dialog. You can change the colors of Job display, log, the message area, date and time in the status bar. It's also possible to open the Color Palette and drag a color to these areas.
Define Holidays
Presents the Holiday Dialog.
Enable Debug
This is a toggle. Please enable this if you are having trouble with specifying the conditions for dependent Jobs.

Note : A lot of information is displayed in the log and therefore this option should be disabled as soon as possible.

Save Options
This is a toggle. All states in the Option Menu and the sub menus are saved if a checkmark appears to the left. Default state is on.

Holiday Definition Dialog

Public holidays: 
Select month and day with the spinbuttons and click the add button. 
If you make a mistake,  mark the wrong date in the listbox and click on delete. 
Religious holidays:
They depend on the easter date. You must select an offset in days, then click on add. 
If you make a mistake,  mark the wrong offset in the listbox and click on delete. 
Common offsets
Good Friday
Offset -2
Easter Sunday
Offset 0
Easter Monday
Offset 1
The Ascension Day
Offset 39
Whitsun
Offset 49
Whitmon
Offset 50
Corpus Christi
Offset 60
Save button
This saves the holiday definition to a file which will be loaded automatically by RoboJob on startup. 
Cancel button
This cancels the dialog. No changes will be recorded. 

The Log Menu

You may hide the log by expanding the Job Status. This works as a toggle. A checkmark left of this menu entry signals hidden state.

Default is to show the log.

See also: Explanation of log entries

Keyboard shortcuts

Most of the commands have keyboard shortcuts assigned.

Alt R
Presents the Registration dialog.
Ctrl A
Add a Job. Presents the Job Property Dialog.
Ctrl C
Cancels the current selected Job. The Job must be running. Only if confirmation is on you may abort this command.
Ctrl D
Delete a Job. Only if confirmation is on you may abort this command. You cannot delete a running Job.
Ctrl E
Edit a Job. Presents the Job Property dialog.

Note : If the Job is running, you can only view the properties.

Ctrl G
Toggle debugging output to the log.
Ctrl H
Holds all Jobs. Scheduling for all Jobs is suspended.
Ctrl I
Hides or shows the log.
Ctrl L
All Jobs in suspended state are released.
Ctrl P
Copy the selected Job. Presents the Job Property dialog. filled with data from the currently selected Job. You must supply a new Job title.
Ctrl R
Resumes scheduling of a previously suspended Job.
Ctrl S
Suspend current selected Job. You can only suspend an Active Job. Scheduling for this Job is suspended until it is released.
Ctrl U
Run the selected Job.

Note : Job state must be Active and all conditions like files existing etc. must be met to launch the selected Job.

Ctrl Y
Presents the Holiday Definition Dialog.
F6
Sorts the Job Display ascending, key Job Name.
F7
Sorts the Job Display descending, key Job Name.
F8
Sorts the Job Display ascending, key Scheduled Time.

Note : This is the default. The next Job to run will be at the top

F9
Sorts the Job Display descending, key Scheduled Time.
F3
Stops programm execution. Only if confirmation is on you may abort this command.

External utility - RoboCmd

RoboCmd Overview

Note : This utility enables you to delete, run, cancel Jobs, save the current JobQueue, load another Queue and modify certain aspects of RoboJob.

It works on the same machine from another task or over any lan which has support for named pipes.

RoboCmd Syntax 
If on the same machine: robocmd \pipe\robojob cmd1 cmd2 .... cmdn 
If across a lan: robocmd \\server\pipe\robojob cmd1 cmd2 ... cmdn 
All commands may be abbreviated. Only the first three characters are significant. 
RoboCmd Commands

Note : The registered version contains the C source to RoboCmd

query 
Lists all the jobs with current state, time scheduled and program information. 
query(jname)
Lists the selected Job with title jname if it exists. 
delete(jname)
Deletes the Job with title jname if it exists. 
run(jname)
Runs the Job with title jname if it exists. Behaves like Ctlr U within RoboJob. 
save(filename)
Writes the current queue to filename. 
load(filename)
Loads the Queue from filename. 
hold
Holds all Jobs. 
hold(jname)
Holds the specified Job. 
release
Releases all held Jobs. 
release(jname)
Releases the specified Job. 
Commands which influence jobname matching
wildmatch(on) 
Only a part of the jobname must be given 
wildmatch(off)
You must specify the full jobname. This is the default. 
ignorecase(on)
Case is not significant when matching a jobname. This is the default. 
ignorecase(off)
Case is significant when matching a jobname. 
Commands which influence RoboJob options
minimize 
Minimizes RoboJob. 
restore
Restores RoboJob old position. 
maximize
 compact. 
Maximizes RoboJob 
hide(on)
Hides the log display 
hide(off)
Show the log if it was hidden. 
confirmation(on)
Set RoboJob confirmation on. 
confirmation(off)
Set RoboJob confirmation off. 
writelog(on)
The log will be written at midnight and after RoboJob has ended. 
writelog(off)
No log will be written at midnight and after RoboJob has ended. 
shutdown
Terminate RoboJob. 

Caution : Confirmation setting is ignored.

RoboCmd return codes.
Returncode 0: all commands executed normally. 

Note : This doesn't guarantee your commands were correct, it simple states the communication with RoboJob was successfull. Returncode 1: RoboJob not executing or busy.

Note : Look at the RoboCmd display: DosOpenError 231 means another copy of RoboCmd is executing, DosOpenError 3 means the specified pipe could not be found. Returncode 255: no commands entered, help displayed.

External utility - RBNotify

The RBNotify utility

This small program shows all Parameters in a Messagebox and accepts up to 800 charcters to display.

RBNotify Syntax

RBNotify param1 param2 .... paramn

Note : to force a linebreak in the resulting messagebox use "\n"

Example

RBNotify Error \nProgram %PROG% ended with \nRc %RC%

Add this as dependent Job to your queue and enter as criteria !0,CP,CPN,CF,CFN

This will trigger execution on any returncode except zero and on all conditions specified for regular Jobs

External utility - ObjStart

ObjStart Overview

ObjStart Syntax 
ObjStart "<objectid>|objecthandle" {settings} ... "objectid|objecthandle" {settings} 
Parameter Description
objectid 
This is the object id assigned when the object was created. 

Note : You can also specify a file or path to open them in the default view.

A program object must be always surrounded by " and "

object handle
This is the persistent object handle shown in the handle column of the ObjSel program. 
settings
They may be specified optionally and must follow the rules outlined in the description of "SysCreateObject". 

Caution : It is not possible to modify the Object Id with this program. Use ObjSel for this task. When specifying set statetments there is no translation to uppercase.

External utility - Object Selector

The Object Selector Utility

The Property Dialog

Specifying the Job properties

Job title
Required. Every Job must have a title. This title appears in the tasklist when this Job is running.
Program button
Presents a standard file dialog for easy selecting the program.

Note : Use of this button is optional.

Program name
Required. The program (.exe/.cmd/.com/.bat) file to run. Either specify the program name only or the full path.

Note : Full path specification is currently required for Dos and Windows programs.

Program parameters
Optional. The parameters for your program.

Note : If you need file redirection you must use cmd.exe (or command.com for Dos programs) with the parameter /c followed by your program and the file redirections.

Program directory
Optional: If your program must be started from a specific directory you may enter it here.
Job runs listbox
Select from the listbox either one dayly run or multiple runs a day.

Note : When selecting dependent Job, the Criterias Dialog will pop up when you press OK

Limit
For multiple dayly runs you may enter a limit. The Job runs only up to this limit times.
Year, Month, Day, Hour, Minute
Required. Select date and time for the first run of this Job.
Window or Fullscreen
Select if your Job will run in a windowed or fullscreen session.

Note : This always defaults to windowed. Fullscreen must be specific selected when needed. Has no effect on PM programs.

Foreground or Background
Start the Job in the Foreground or Background.

Note : Foreground starts are only possible if RoboJob executes in the foreground at the time a new Job starts.

Program type
This is automatically selected if the program could be found in your path or the correct path was given.

Warning : Only specify this parameter if you are absolutely sure or if the program doesn't exist at the time you are creating this Job entry.

Day selection
Specify selected days of the week or all days. This is the default.
Month selection
Specify selected months of the year or all months. This is the default.
Holidays
Uncheck to obey the holiday definitions.

Note : If you uncheck this and there are no holiday definitions, the Holdiday Definition Dialog is presented.

Overdue
If checked this Job will be executed on startup if the real execution time has been missed.
Files exist
Optional: specify the file or files (seperated by ; ) which must exist
Files don't exist
Optional: specify the file or files (seperated by ; ) which may not exist
Programs running
Optional: specify the program or programs (seperated by ; ) which must be running.

Note : These are the Job Titles or the entries from the tasklist.

Programs not running
Optional: specify the program or programs (seperated by ; ) which may not be running.

Note : These are the Job Titles or the entries from the tasklist.

Criterias for dependent Jobs

Specifying the dependent Job properties

RC and Program
Enter the Returncode(s) and the Job Title(s) you wish to monitor. Returncode(s) and program titles must be separated by semicolons.

Note : To apply the selected Returncode(s) to all Jobs leave out the program title and enter only the delimiting semicolon.

Example
0-15,20-27,!28;Test Job;CP,CPN,CF,CFN;!Test Job;
Description
Run the dependent Job whenever Test Job returns a rc in the range 0 to 15, 20 to 27 and ignore 28. The returncodes CP, CPN, CF, CFN of any Job will trigger execution except for Test Job
Files that must exist
A list of files (separated by semicolons) that must exist to start the dependent Job.
File that may not exist
A list of files (separated by semicolons) that may not exist to start the dependent Job.
Programs that must be running
A list of program titles (separated by semicolons) that must be running to start the dependent Job.
Programs that may not be running
A list of program titles (separated by semicolons) that may not be running to start the dependent Job.

Log Details

Key to log entries

Except for the "sign on" message every log entry consists of three parts.

Job Status Display

Your current Jobs

Job Name
Show the name you have defined for this Job.
Scheduled
Date and time for this Job to run next.
Status
The current state of this Job.
Last Rc
Last return code from this Job or NA if there was no previous run.

Note : The codes CF, CFN, CP, CPN denote conditions not met on startup. Have a look at the log.

Program
The program to execute.
Parameter
The (optional) program parameter(s).
Start DIrectory
The (optional) program startup directory.
Last Exec
The date and time the program has last run or empty if never.

Registration

How to register

This is a full functional 30 day evaluation version. If you want to use the program after the 30 day limit, you must register.

Just click on the pen icon in the RoboJob Folder for the order form.

New since Version 2.0 is the Registration dialog. After receiving your order and verifying the payment, your key will be sent to you if an email address is specified. This is in addition to the diskette version.

Ordering via BMT Micro is available now. Just click on the icon in the RoboJob Folder for the BMT order form.

Prices

RoboJob single license (valid for one machine): USD 49.00

RoboJob additional license per machine: USD 29.00

For volume discounts please contact me at one of these addresses.

If you want to order via Compuserve: GO SWREG, ID is 11819

Object Select standalone via Compuserve: GO SWREG, ID is 13817

Shipping & Handling: Europe USD 2.00, elsewhere USD 3.00

American Express Creditcards welcome.

Note : Customers residing within the EC must include their VAT ID or will be charged an additional 20 % VAT.

FootNote 1

NPSWPS users who have "Activate WIndow at Pointer" turned on must use a waiting time greater 0 or the popup menu may not work correctly.

FootNote 2

To change fonts open the Font Dialog in the System Folder and drop a font on these areas.

FootNote 3

Single returncode
Either a number or the words CF, CFN, CP, CPN
Conditions
Supported are: ! < > (for numeric values only)
Range
Specify a range of returncodes eg 0-15
List of returncodes
Enter the returncodes (including conditions) separated by ","

FootNote 4

The following states are defined:

FootNote 5