A Job Management Service is one that can handle scheduling and execution of multiple types of Jobs.
System is:
- Flexible: System is not aware of the Jobs. New Jobs should be supported without re-developing the System.
- Reliable: Each job should either complete successfully or leave the system unaffected, in case of failure.
- Internal Consistent: Jobs can have four states: QUEDED, RUNNING, SUCCESS, FAILED. Following execution of Job, it should be left in appropriate state.
- Scheduling: System should allow jobs to be performed immediately or according to a schedule.
- Priority: Jobs should be executed based on its priority relative to other jobs.
- Docker
In Root Directory of the Project, execute following command to spin up all Services
docker-compose up
- In a browser open http://localhost:4200. This is where the angular app is running. You should see a screen like this
- Click on Add A Job at top right corner. Fill in details of the Job as shown below:
- Click on Add Job. Once Job is submitted you should see the Job List with your newly added Job. Add a few more jobs. You should see something like this after adding a few Jobs
- 5. Give it some time and Refresh to see updated Status of Jobs.
Request URL: http://sample-job:8085/job/short-success points to Sample Job Application developed for testing the Job Scheduler System
The Jobs List Dashboard, provides information on Job Id, Job Name, Job Execution Type, Job Priority and Job Status.
Manas Acharyya