An event based job is a job, which has a batch event as start condition. The start condition is fullfilled, when the event is triggered.
Whenever an event is triggered, a certain program, the event scheduler, is started.
It is similar with Time-Driven jobs, The event scheduler tries to picks up all event based jobs which have been waiting for this event.
please keep in mind that an event scheduler can start event based jobs only on the server, where it (i.e. the event scheduler) is running.
For example, if the event scheduler runs on A, it can only start event based jobs with target server A and event based jobs without target server.
If an event based job has a target server other than A, the event scheduler transforms this job into a time based job with start date and start time = system date and system time.
this job can be started at the earliest by the next time scheduler. So this job will have a delay up to rdisp/btctime seconds (even, if there are free batch resources).
An event scheduler cannot start more jobs directly (on the server, where it is running) than there are free batch work processes on this server at this moment. If a event job cannot be started directly due to missing batch ressources(BGD workprocess), it is transformed into a time based job with start date and start time = system date and system time.
this job can be started at the earliest by the next time scheduler.