none
Зависание рабочего процесса RRS feed

  • Общие обсуждения

  • Проблема такая:

    есть рабочий процесс, который значения нескольких полей списка конкатенирует и сливает в одно поле.

    Этот процесс был написан давно, работал.

    Сейчас если запустить его вручную, он отлично отработает.

    Если же оставить галку "Запускать при изменении", то этот же рабочий процесс запускается и зависает.

    Остается в статусе "Запуск"

    После этого единственный вариант - остановить его (прервать) и запустить заново.

    Sharepoint 2010. Сервер перезагружала, не помогло.

    Если кто сталкивался, помогите пожалуйста!


    Форумы Microsoft
    • Изменен тип Roman Zhukov 2 сентября 2011 г. 10:36
    30 августа 2011 г. 7:41

Все ответы

  • Промоделируйте ошибку и проведите трассировку логов при помощи UlsViewer, тогда можно будет что-то конкретное сказать
    30 августа 2011 г. 7:51
  • Было у меня зависание РП, в моем случае это оказалось из-за того что РП (в шарике foundation) использовал задачу с определенным типом контента и на шаге OnTaskChanged зависал, исправил только тем что создал свой список задач РП шаблоном у которого только один тип контента мой, а так логи анализировал - анализировала да не выанализировал)) 
    Ибрагимов Рустам
    20 сентября 2011 г. 8:33
  • Да, вы правы - зависли рабочие процессы. Как только я их "пнула" - все заработало.

    Спасибо.


    Форумы Microsoft
    20 сентября 2011 г. 8:38
  • Если есть ответ укажите его.

    Так же советую в раб процессе использовать такую вещь для логирования ошибок

    Пример будет ловить ошибки и логировать или хотя бы в отладке попадете на ошибку-

    public sealed partial class Workflow1 : SequentialWorkflowActivity
        {
            public Workflow1()
            {
                InitializeComponent();
            }

            public Guid workflowId = default(System.Guid);
            public SPWorkflowActivationProperties workflowProperties = new SPWorkflowActivationProperties();

            protected override ActivityExecutionStatus HandleFault(ActivityExecutionContext executionContext, Exception exception)
            {
                try
                {
                    workflowProperties.Workflow.CreateHistoryEvent(
                        (int)SPWorkflowHistoryEventType.WorkflowError,
                        0,
                        workflowProperties.OriginatorUser,
                        "Ой ошибка",
                        string.Format("Ошибка при выполнении рабочего процесса {0}.", executionContext.Activity.Name),
                        Misc.FormatException(exception));
                }
                catch { }
                return base.HandleFault(executionContext, exception);
            }

    .....


    Ибрагимов Рустам
    22 сентября 2011 г. 7:06
  • /************************************************/
            public static class Misc
            {
                static Regex stackRegex = new Regex(@"\r\n   at ", RegexOptions.Compiled);

                public static string FormatException(Exception ex)
                {
                    return FormatException(ex, new StringBuilder(), 0);
                }

                private static string FormatException(Exception ex, StringBuilder sb, int tab)
                {
                    if (ex == null)
                        return sb.ToString();
                    string sTab = new string('\t', tab);
                    sb.AppendFormat("{0}Source: {1}\r\n", sTab, ex.Source);
                    sb.AppendFormat("{0}Message: {1}\r\n", sTab, ex.Message);
                    sb.AppendFormat("{0}StackTrace: {1}\r\n", sTab, FormatStackTrace(ex, sTab));
                    sb.AppendLine();
                    return FormatException(ex.InnerException, sb, ++tab);
                }

                private static string FormatStackTrace(Exception ex, string sTab)
                {
                    string stack = ex.StackTrace;
                    if (stack == null)
                        return null;
                    stack = stackRegex.Replace(ex.StackTrace, delegate(Match m)
                    {
                        return string.Format("\r\n{0}   at ", sTab);
                    });
                    return stack;
                }
            }


        }
    Ибрагимов Рустам
    22 сентября 2011 г. 7:06