USP_BBWORKFLOW_TASK_CANCEL_DUE_TO_TIMEOUT

Used by the workflow service to mark a task as cancelled when the WaitForTaskCompletion activity times out waiting.

Parameters

Parameter Parameter Type Mode Description
@BBWORKFLOWTASKID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_BBWORKFLOW_TASK_CANCEL_DUE_TO_TIMEOUT 

    @BBWORKFLOWTASKID uniqueidentifier ,
    @CHANGEAGENTID uniqueidentifier = null

/*
Used by the workflow service to mark a task as canceled when the WaitForTaskCompletion activity times out waiting
*/

as

set nocount on;


if @CHANGEAGENTID is null  
    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();

DECLARE @COMPLETEDATE datetimeoffset = SYSDATETIMEOFFSET();


begin try

  UPDATE dbo.BBWORKFLOWTASK SET 
  DATECOMPLETED=@COMPLETEDATE
  TASKSTATUSCODE=2
  WHERE ID=@BBWORKFLOWTASKID;

  DECLARE @BBWORKFLOWINSTANCEINFOID uniqueidentifier;
  SELECT @BBWORKFLOWINSTANCEINFOID=BBWORKFLOWINSTANCEINFOID from dbo.BBWORKFLOWTASK WHERE ID = @BBWORKFLOWTASKID;

    DECLARE @LOGID uniqueidentifier=NEWID();

    DECLARE @LOGMSG nvarchar(100) = N'Task canceled due to timeout';

    EXEC dbo.USP_BBWORKFLOW_ADD_LOG_MESSAGE @LOGID, @CHANGEAGENTID, @BBWORKFLOWINSTANCEINFOID, 1, @LOGMSG, 1;

end try

begin catch
    exec dbo.USP_RAISE_ERROR;
    return 1;
end catch

return 0;