SummaryA guide on how the scheduler job works, possible performance impacts and how to mitigate them and it's dependencies.
The “Nintex Workflow Scheduler Job” is a SharePoint Timer Job associated to a web application.
By default, the Nintex timer job runs every 5 minutes. It operates by checking if you have a Nintex scheduled workflow that needs to run immediately. This means it will check the Nintex Workflow Config database where it will cross check the 'dbo.WorkflowSchedule' and see which scheduled workflow needs to run according to the NextRun column.
The process can be greatly slowed down if you have Verbose logging switched on. If you do, remove the logs older than 5 days (5 days is the default value in global settings) and turn off verbose logging.
The size of the table itself can also have an impact on the performance of the job. It is good to have an understanding of the scheduled workflows you have configured and remove unrequired scheduled workflows.
If you face issues with the Nintex timer job taking a long time to execute, or consuming a lot of CPU process, first look at the Nintex Workflow Config Database table 'dbo.WorkflowSchedule' and 'dbo.; (scheduled and verbose log) and you can also check how many scheduled workflows are in the farm using the NWAdmin command 'EnumSchedules'
If your workflow does not start at all then you can check the following:
Create a basic SharePoint Designer Workflow with a 5 minute pause activity and a Nintex Workflow setup in the same way. If the SharePoint Designer workflow does not run, then this isolates the issue to the execution of the timer job. If the workflow does not run then you will need to investigate the health of the timer service in your farm as well as the account associated with the timer service job.