I have an event receiver that creates 2 tasks. The task should be created immediately on ItemAdded but there is a delay for some reason. The first task is created immeditately as expected but then there is a 5 minute delay before the second task is created. After that, there is another 15 minute delay before the rest of the Receiver code is executed.
I have isolated it down to the create tasks method. I've seen a lot of documentation on Tasks locking workflows but not much on Event Receivers. Also, I am unable to reproduce this issue in Dev or Stage.
Has anyone seen this issue before?
private int CreateExpiryTasks(SPListItem item, SPEventReceiverType etr) { int tasksAdded = 0; try { SPListItemCollection issueMgmtTasks = item.ParentList.ParentWeb.Lists[issueMgmtTaskList].Items; DateTime today = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); if ((DateTime)item["Recheck Due Date"] >= today) { SPListItem recheckTask = issueMgmtTasks.Add(); recheckTask["Recheck Due Date"] = item["Recheck Due Date"]; recheckTask["Issue"] = item.ID; recheckTask["Title"] = item.Title; recheckTask["Due Date"] = item["Recheck Due Date"]; recheckTask.Update(); tasksAdded++; } if ((DateTime)item["Est Resolution Date"] >= today) { SPListItem estResTask = issueMgmtTasks.Add(); estResTask["Est_x002e__x0020_Resolution_x002"] = item["Est Resolution Date"]; estResTask["Issue"] = item.ID; estResTask["Title"] = item.Title; estResTask["Due Date"] = item["Est Resolution Date"]; estResTask.Update(); tasksAdded++; } } catch (Exception ex) { SPLogger.LogEvent(item.ParentList.ParentWeb, logList, etr, "CreateExpiryTasks: Error: " + ex.Message); } return tasksAdded; }