If you have recently upgraded from AutoSys 4.x to 11.x you may be left wondering what BLOBs and Globs are. BLOBs (Binary Large Objects) and GLOBs (Global Large Objects) were introduced into AutoSys in version 11.0, and are a means to sharing information between jobs residing on different agent machines. Here is a description of what they are and how they are used:
Binary Large Objects (blobs) are binary data of variable length. WAAE (AutoSys) supports blobs in job definitions, and after they are defined, they are stored in the database. This allows the blob data to be shared by jobs running on multiple computers.
There are two types of blobs:
Job blobs are associated with an existing WAAE (AutoSys) job and are referenced by the job name. Job blobs can either be created at the time of the job definition or after the job has been defined. They are deleted when the job is deleted.
Global blobs are general purpose blobs in textual or binary data format. Like the WAAE (AutoSys) global variables, they are referenced by a unique name. You can either upload the global blobs to the database using JIL or they can be uploaded by the System Agent, after a job has completed its run. Once a global blob is created, it is available to any job as input. Global blobs remain in the database until they are deleted using JIL.
To understand the advantages of using blobs in WAAE (AutoSys) environment, the following example explains the process that is used to share data amongst the jobs that are running on a single computer:
- When the jobs are running on a single computer, you can define a command job to run a program that outputs the data to a file using the std_out_file attribute.
- When the job is completed, a file is created in the location specified by the std_out_file attribute.
- All the other jobs that depend on this output data can access this file.
- You can also define a second command job to run a program that reads the output data of the previous job, by specifying the file name in the std_in_file attribute.
- This second command job opens the file specified by the std_in_file attribute and passes the data to the program, allowing it to complete successfully.
Because the example output data is stored in a file on only one machine, that data is unavailable to any job scheduled to run on any other machine. The use of blobs allows data, saved as output by a job on one machine, to be shared across jobs running on different machines.
Also, you can define a command job to run a program that uploads the output data to the database as a blob using the std_out_file attribute. You can also define a second command job to run a program that reads the blob data of the previous job using the std_in_file attribute. The second command job downloads the blob data specified by the std_in_file attribute from the database and passes the data to the program, allowing it to complete successfully.
- For details on syntax and implementing BLOBs and GLOBs please see the reference guide for your version of Autosys
- For AutoSys version 11.3 and above only the 32-bit system agent supports BLOB and GLOBs
- The i5OS agent does not support BLOBs and GLOBs
- The command autoping -M <machine> -S specifically checks the agent's ability to communicate with the application server in order to write BLOBs