Execution Cycle: Batch Processing
This section describes, in general, how Lawson processes batch jobs. That is, reports and other kinds of jobs that run in background and are managed by a queue.
The following diagram shows a simple example of the batch job execution process in a single-server environment. The table that follows the diagram correlates the step numbers in the diagram with what is happening at that step in the process.
| Step # | What is Happening |
|---|---|
| 1 |
Client submits a request. (A client can be any component that has the capability to submit, including users, processes, Lawson programs, servers and so on.) |
| 2 | Inbound Queue receives the requests and forwards it to lajs. |
| 3 | LAJS creates a record in the queued jobs table. |
| 4 |
LAJS sends a message to the outbound queue that client job has been successfully submitted. Status of the job is "Waiting." Ongoing: LAJS reports status to the queued jobs table; Job Scheduler checks the table for status. (The client can manually check job status at any time by viewing the Job Scheduler.) |
| 5 | When Status changes to "Running," LAJS sends the job to execjob for processing. |
| 6 | The execjob program spawns a LA-RTS instance for running the job. |
| 7 | EXECJOB creates a log file. |
| 8 | EXECJOB creates print files. |
| Ongoing | Components (EXECJOB, LA-RTS, database driver) write errors to the log file if any occur. |
| 9 | LA-RTS reports successful completion of the job to the execjob program. |
| 10 | EXECJOB performs report distribution |
| 11 | EXECJOB reports status of the job to LAJS. |
| 12 | LAJS changes the job status to "Complete." |