I am the CRM man at work, this lofty title means every time something isn’t working correctly or someone wants to know how to do something they ask me.
This is fine because I work with CRM all the time and some people are flirting in out working on different projects and different technologies.
This does mean I am often confronted with a problem on a CRM installation I have no idea how it should work which makes it it difficult to diagnose the problem.
Today I had a problem with a workflow not working. Workflow’s are often tricky things to fix because they usually rely on lots of values being in certain states and can be data issues.
The first thing I usually try if a workflow isn’t working is to restart to the Microsoft CRM Asynchronous Processing Service. What can happen is the CRM Async service can get bogged down or overloaded or just stop working. Then all the workflows will get put into a pending state and start queueing up.
For those of you who don’t know workflows and maybe plugins get run using the CRM Async service, which runs them in a non priority way. Most of the time this is a good system because it doesn’t bog down the main web front end of CRM but it can get itself in a bit of a mess and then suddenly you realise how many things are being run from the CRM Async service.
There isn’t any real way to know this is happening in CRM apart from the workflows not seeming to do much because it’s a separate windows service.
you can go to SETTINGS/SYSTEM JOBS and then looked at Suspended System Jobs or Locked System Jobs
The suspended jobs will show you a list of jobs which tried to run, couldn’t and then have got put into a pending state, waiting for CRM Async service to sort itself out.
In this case I restarted the CRM Async service and then some of the workflows burst back into life and some of them had to be set to resume.