none
Problema con workflow suspendido RRS feed

  • Pregunta

  • Estoy teniendo un problema que no puedo solucionar: ya hace un tiempo un Flujo de Trabajo que se estaba ejecutando normalmente se suspendió y nunca mas volvió a ejecutarse, si intento Reanudarlo tampoco retoma la ejecución.

    Es raro, ya que este mismo flujo de trabajo ya se había ejecutado muchas veces para el mismo tipo de Entidad y nunca tuvo problemas, incluso luego del inconveniente este mismo flujo se ha ejecutado bien para otras entidades.

    Si busco el error o problema por el cual dejo de ejecutarse el flujo encuentro el siguiente error:
    Codigo de error -2147204346
    Mensaje:
    Workflow suspended temporarily due to error: Unhandled Exception: System.Net.WebException: Se excedió el tiempo de espera de la operación  en System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)  en System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)  en System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)  en Microsoft.Crm.SdkTypeProxy.CrmService.Create(BusinessEntity entity)  en Microsoft.Crm.Asynchronous.SdkTypeProxyCrmServiceWrapper.Create(BusinessEntity entity)  en Microsoft.Crm.Workflow.Services.CreateActivityService.Execute(ActivityExecutionContext executionContext, CreateActivity createActivity)  en Microsoft.Crm.Workflow.Activities.CreateActivity.Execute(ActivityExecutionContext executionContext)  en System.Workflow.ComponentModel.ActivityExecutor`1.Execute(T activity, ActivityExecutionContext executionContext)  en System.Workflow.ComponentModel.ActivityExecutor`1.Execute(Activity activity, ActivityExecutionContext executionContext)  en System.Workflow.ComponentModel.ActivityExecutorOperation.Run(IWorkflowCoreRuntime workflowCoreRuntime)  en System.Workflow.Runtime.Scheduler.Run()

    Quería saber si de alguna manera se puede reanudar la ejecución del workflow en el lugar donde se detuvo?

    Saludos Y desde ya Muchas Gracias

    jueves, 19 de enero de 2012 17:36

Todas las respuestas

  • hola amigo rashid mira es complicado reanudarlo.. intenta reanudarlo de forma manual... para ver si te permite..

    segundo revisa el servicio del crm que ejecuta los flujos, puede que se haya detenido y por eso no te funcione, entonces al iniciarlo puede que te funcione le flujo y arranque desde el momento en qeu se detuvo.. me cuentas

     

     

    saludos

    jueves, 19 de enero de 2012 19:09
  • Ya intente reanudarlo de forma manual y no logre que la ejecuccion continue.

    Con respecto al servicio que ejecuta lo flujos esta corriendo, nunca se ha detenido, asi que no creo que este sea el problema.

     

    Saludos

    viernes, 20 de enero de 2012 12:08
  • entonces si esta raro este error trata de seguirlo paso a paso.. puede ser tambien que algo que es importante para el flujo no funca....

    revisalo paso a paso y hay te puedes dar cuenta del error.

     

    yo estare buscando y tratare de ayudarte..

     

    saludos

    viernes, 20 de enero de 2012 14:08
  • Hola Rashid, por lo que yo he visto hasta ahora, este tipo de errores suelen ocurrir cuando el servicio de procesamiento asíncrono tiene demasiada carga de trabajo. En los casos en que los trabajos del sistema se me quedan en espera por algún error SQL, la mayor parte de las veces al final lo que hago es cancelarlos, y si por las condiciones del registro debe continuar el proceso, los lanzo nuevamente a mano.

    Para evitar que pasen a menudo este tipo de cosas, sigo una serie de pasos:

    1. Procuro que la lógica del flujo no permita que se lancen varias veces el mismo flujo sobre la misma entidad.

    2. Trata de reducir al mínimo los flujos que tengan condiciones de espera, por ejemplo, yo tenía unos flujos que se activaban al crear entidades de tipo cuenta, y en la modificación de determinados atributos de dichas cuentas, y en importaciones masivas de datos podían lanzarse hasta 13 ejecuciones del mismo flujo, lo que multiplicado por cientos de cuentas, dejaba completamente tumbado el servidor.

    3.Create una busqueda avanzada de trabajos del sistema cuya razón para el estado sea "En espera", y que tengan datos en el campo de error. Ejecutalá de forma regular, y ve revisandolos.  Los que sean muy antiguos, lo mejor es cancelarlos sin mirar.

    4. Puedes incrementar el timeout de las operaciones de base de datos. En este enlace dan los pasos:http://support.microsoft.com/kb/918609/en-us

    Si con todo esto sigues teniendo demasiados problemas, es posible que debieras hacer que el servicio de procesamiento se ejecute en un servidor a parte de los de aplicación y base de datos.

    Saludos.


    jueves, 23 de febrero de 2012 17:22