I have developed a workflow for automatically closing appointments that are 28 days past the start date. To do this I have created a organisation scoped workflow using a Workflow timeout activity to wait until 28 days after the start date before closing.
I am concerned that this may place an increasingly large load on the CRM implementation as the number of appointments increases (thousands could be open with waiting workflows attached).
How can I check this? does anyone know how often the async service will poll to check whether the timeout has been reached, and does it make a lot of difference on the number of open activities?
Thousands of pending/waiting workflows isn’t an issue, now if it passes the million record mark then you might have issues. The big thing you have to monitor is your asyncoperation table. You’ll probably see a performance hit if your table grows passed the 1-2 Million mark and the workflows are being created faster than the async service can process them. There are a few things you can do to improve performance and prevent the table growing out of control:
following job to clear out any
processed records and rebuild
indexes/statistics as necessary.
KB968520
Other than that you should be in good shape.