当前位置: 首页 > 知识库问答 >
问题:

为什么活动任务已安排但未开始?

吴德辉
2023-03-14

我计划了一个活动任务,但通过查看历史记录从未执行(开始),然后工作流被超时。我可以确认节奏工作者正在运行,因为其他工作流同时工作正常。

为什么活动在历史上没有开始/执行?我应该如何调查这样的问题?

我的活动超时与工作流超时相同。

这个问题来自于这个Github问题。

共有1个答案

贺山
2023-03-14

首先,具有重试功能的活动仅在活动完成或最终失败/超时时写入启动的事件。

从历史记录中,可以将活动事件之前的工作流超时写入历史记录。您需要确保工作流超时大于活动超时,以便在工作流超时之前将活动超时事件写入历史记录。

那么我们如何确定一个活动是否真的开始了呢?

  1. 当带有重试的活动正在运行时,查看状态的最佳方法是通过CLI:
~/cadence [qlong-cli-wf-show-actvities-retry] M % ./cadence --do qlong wf show -w retry_db345b68-0e50-4c24-8d2d-8c6dd18d88dc
   1  WorkflowExecutionStarted  {WorkflowType:{Name:main.retryWorkflow},
                                TaskList:{Name:retryactivityGroup}, Input:[],
                                ExecutionStartToCloseTimeoutSeconds:120,
                                TaskStartToCloseTimeoutSeconds:60,
                                ContinuedFailureDetails:[], LastCompletionResult:[],
                                OriginalExecutionRunId:63acf35f-9ede-48ef-aee7-66579382fed5,
                                Identity:35027@IT-USA-25920@,
...
...
...
...
                                ExpirationIntervalInSeconds:20},
                                Header:{Fields:map{}}}
============Pending activities============
[
  {
    "ActivityID": "0",
    "ActivityType": {
      "name": "main.batchProcessingActivity"
    },
    "State": "STARTED",
    "LastStartedTimestamp": "2020-10-11T22:47:16-07:00",
    "LastHeartbeatTimestamp": "2020-10-11T22:47:16-07:00",
    "Attempt": 0,
    "MaximumAttempts": 15,
    "ExpirationTimestamp": "2020-10-11T22:47:36-07:00"
  }
]
NOTE: ActivityStartedEvent with retry policy will be written into history when the activity is finished.

或者通过 webUI 描述工作流视图,它显示挂起的活动。

./cadence --do <> tl desc --tl <>

最后,重试活动背后的原因是:历史需要作为不变性是不可变的,但是启动事件可以因为重试活动而改变,直到它最终稳定下来。这种不变性对Cadence架构很重要。但是在webUI中它确实令人困惑。这是改进它的问题。

 类似资料:
  • 问题内容: 我通过运行以下命令在centos 7上安装了docker, 注意:helloworld正常运行,没有问题。 但是,当我尝试运行docker-compose(docker- compose.yml存在且有效)时,它仅在Centos上给我错误(Windows版本对于docker-compose文件运行良好) 问题答案: 您还需要安装Docker Compose。请参阅手册。这是您需要执行的

  • 据我所知,Camunda提供了两种将Java代码与服务任务集成的方法: 1.)声明一个实现JavaDelegate接口的Spring-Bean(该方法将一个DelegateExecution作为参数)。这个方法允许我存储任意多个结果变量,但我看不到定义映射process-variable->input-variable的选项。 2.)声明一个通用的Spring bean可由camunda访问,并定

  • 我有一个文件,看起来像这样 wsimport任务从wsdl文件生成所需的一些java文件。生成需要一些时间,所以我不希望每次构建jar或编译程序时都执行它。 wsclean任务旨在当wsdl发生更改时使用。 首先,我运行wsimport任务并确认文件生成正确,它们就是! 但是现在,当我运行gradle jar时,生成的文件被删除了。为什么? 当我注释掉wsclean任务时,jar任务成功地继续。为

  • 我正在以下链接中使用sysdeo插件进行tomcat安装: http://technologicaloddity.com/using-projects/Java-projects/setting-up-the-sysdeo-tomcat-plug-in/ 由于我需要从我的spring mvc在tomcat中运行solrserver,所以我选择了上面的链接。 我配置了所有的东西,也做了solr wa

  • 在使用Spark-1.6.2和pyspark时,我看到了以下内容: 其中活动任务为负数(任务总数与已完成任务之差)。 这个错误的来源是什么? 我有很多执行者的节点。然而,似乎有一个任务似乎一直在闲置(我没有看到任何进展),而另一个相同的任务正常完成。

  • 我的目标是运行ECS容器之间的8AP-5PM仅!