Reputation: 2017
Is there any way to increase the maximum time that a plugin can execute for?
It's 2 minutes by default. I found that here.
Upvotes: 1
Views: 9075
Reputation: 795
I'd like to add that it seems that the time limit only applies when a plugin is registered in a sandbox / partial trust mode.
We had this kind of an issue and solved it by registering the plugin in fully trusted (non-sandbox) mode. I verified this by using Thread.Sleep function to wait 2 minutes before even starting to executing any plugin logic. In total almost 4 minutes were spent but the plugin still managed to do well when in non-sandbox mode. In a sandbox mode it threw us a 2 minutes exception.
According to E-learning material from Microsoft sandbox plugins in CRM 2013 has only 30 seconds limit instead of 120 seconds. I haven't tested that out yet.
Upvotes: 2
Reputation: 3878
The limit is there to help protect the performance of the server, so the correct approach here is to re-engineer your solution (e.g. move your intensive logic out into a workflow or a web service and call it asynchonrously).
I'm not aware of any setting, flag or registry entry that will extend the two-minute timeout, though if you must persevere, you may find it possible to fudge a solution by wrapping your logic in a try/catch block, catch
ing System.TimeoutException
and continuing your code. Maybe (untested).
Upvotes: 2