Add Multi-Threading to Infor CRM Job Server

Infor CRM use a job service to handle certain tasks, such as reports and exports.  It will also offload standard tasks such as searches to the job service if they are too big.  This is so tasks that would take longer to run can queue up in their own service and not slow down the rest of what the server is doing.  Sadly, there is only one queue, so if single job gets stuck there, no more jobs will run until the service is restarted.  There is a way to add multi-threading, so that a single stuck job does not stop the entire job service.  Be warned, however, it is very memory intensive, so will not be an appropriate solution for all servers.

How memory intensive, you ask.  The job service is programed to take up the 1.5 GB of memory if it needs.  If you add multi-threading, each thread can take up to 1.5 GB.  So, should you set this up, make sure the server has 1.5 GB of RAM per thread, over and above whatever RAM it needs for everything else it does.  The example Infor provides is for 10 threads, which would require and extra 15 GB RAM on that server.

To actually enable multi-threading in Infor CRM, follow the following steps:

  • Stop the Job Server Service
  • Stop the Cache Server Service
  • Navigate to C:\Program Files (x86)\Saleslogix
  • Open SLXJobServer.exe config file in a text editor\
  • Uncomment the following line:

<!–
 <add key=”quartz.threadPool.type” value=”Sage.Scheduling.Server.ProcessPool, SLXJobServer” />
  –>

  • Add the following entry to the SLXJobServer.exe config file under the section commented out above:

<add key=”quartz.threadPool.threadCount” value=”10″ />

  • Start the Cache Server Service
  • Start the Job Server Service

Changes in SLXjobserver.exe.config

For typical Infor CRM setups, that is all you need to do.  If your system is using BODs (Business Object Documents, you will know if you are using them), there is the extra step where you must go into SQL and clear out all the BODs that were trying to process while you were making changes.  In that case, before restarting the services, go into SQL management studio and run the following SQL commands:

NOTE: If no BODs are currently processing, you may skip this step.
                        DELETEFROM [sysdba].[QRTZ_BLOB_TRIGGERS]
                        DELETEFROM [sysdba].[QRTZ_CALENDARS]
                        DELETEFROM [sysdba].[QRTZ_CRON_TRIGGERS]
                        DELETEFROM [sysdba].[QRTZ_FIRED_TRIGGERS]
                        DELETEFROM [sysdba].[QRTZ_JOB_DETAILS]
                        DELETEFROM [sysdba].[QRTZ_LOCKS]
                        DELETEFROM [sysdba].[QRTZ_PAUSED_TRIGGER_GRPS]
                        DELETEFROM [sysdba].[QRTZ_SCHEDULER_STATE]
                        DELETEFROM [sysdba].[QRTZ_SIMPLE_TRIGGERS]
                        DELETEFROM [sysdba].[QRTZ_SIMPROP_TRIGGERS]
                        DELETEFROM [sysdba].[QRTZ_TRIGGERS]
                        DELETEFROM [sysdba].[SYSINBOXSTATUS]

Submit a Comment

Your email address will not be published. Required fields are marked *

Subscribe To Our Newsletter

Join our mailing list to receive the latest Infor CRM (Saleslogix) and Creatio (bpm'online) news and product updates!

You have Successfully Subscribed!