KBI 310218 Unable To Add New Jobs To Queue To Windows Queue Engine

Version

Argent Queue Engine (Windows) Version 7.1A-0904-A

Date

3 Sep 2010

Summary

The following error message is seen in the Queue Engine Service Log:

Line 1: 31 Aug 2010 08:50:49.903 SERVER USER Failed to submit Job JOB_SOMEJOB by user DOMAIN\user (Failed add job slot)

Line 2 : 31 Aug 2010 08:50:49.903 SERVER USER SERIOUSLY TRASHED MEMORY. Try to recover from rebuilding job core slot table

The first line indicates that a job cannot be added to the job slot of an Argent Queue Engine because the job slot tables are full.

The second line indicates that the Argent Queue Engine attempting to rebuild the job slot tables to reclaim unused job slots. If this is unsuccessful the Queue Engine will not be able to accept new jobs.

Technical Background

The C:\ARGENT\QueueEngine\JobsSlot.bin file is the master list of jobs to be processed. Job slots are stored in a flat binary file on the local disk drive.

Due to a Microsoft issue relating to memory mapped binary files such as JobsSlot.bin, Argent needs to keep this file below 2 GB. When new jobs can’t be added to the job slot table because of this constraint, Argent tries to proactively rebuild the JobsSlot.bin file to reclaim unused job slots.

Resolution

To prevent the above situation from occurring again, please check the following and make the necessary revisions:

1) Ensure that the Argent Service Account has full rights and privileges for the JobsSlot.bin file.

Full rights and privileges should be granted using the ‘Security’ tab of the Windows Explorer Properties display:

2) Does the Queue Engine D16A display show a high ‘Retain Jobs For’ setting?

The default value for the ‘Retain Jobs For’ setting is one day. While this is the ideal value for most users, you may wish to reduce this further if you are experiencing the above mentioned issue.

Since the central Job Scheduler captures job log files for completed jobs, the ‘Retain Jobs For’ setting can be reduced in most cases.

3) On the D16A display, is the ‘Max Pending Jobs’ setting high?

The default value is 32. While this setting is ideal for most users, you can consider reducing the value of the ‘Max Pending Jobs’ setting in most cases.

This results in a smaller number of jobs being stored in the JobsSlot.bin file while waiting to execute.

After making the above revisions, users can force the JobsSlot.bin table to be rebuilt (if needed) using the following steps:

  1. Disconnect the Queue Engine server from the Job Scheduler GUI to prevent more jobs from being dispatched to the Queue Engine
  2. Wait for any executing production jobs to complete on the Queue Engine
  3. Stop the Queue Engine service
  4. Start the Queue Engine service