These events will occur when RunJob or RunJobAsync is called.
You can use these event to keep track of the number of jobs pending running. You can also examine DocumentConverterJobEventArgs.Job to get information on whether job finished successfully and get error status if any. RunJob example shows complete source code of how to easily accomplish these tasks in your application.
The JobStarted will occur exactly once per job. DocumentConverterJobEventArgs.IsPostOperation will always be false.
The JobCompleted event will always occur when a job is finished running whether the job is aborted or completed.
The JobStarted event occurs when a job is about to start.