问题标签 [temporal-workflow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
252 浏览

go - 为调用子工作流的工作流编写测试时出现时间错误:“找不到工作流类型”

我将 golang SDK 用于时间。我正在为我的工作流程编写测试LoadCreateWorkflow。它有一个活动,还启动了一个子工作流LoadLifecycleWorkflow

在为它编写单元测试时,我模拟了活动和子工作流程LoadLifecycleWorkflow

(这里 s.env 是单元测试的TestWorkflowEnvironment):

运行测试时出现错误:panic: unable to find workflow type: LoadLifecycleWorkflow. Supported types: [LoadCreateWorkflow]

在我的工作流模块的 init 函数中,我注册了它和子工作流:

为什么我会收到我LoadLifecycleWorkflow未注册的错误,我该如何解决?

0 投票
2 回答
274 浏览

go - 时间:在测试时,我如何将上下文传递到工作流和活动中?

我正在为时间工作流编写集成测试并使用 golang sdk。我的工作流程有一个活动,其中包括以下代码:

在我的测试中,我创建了一个TestWorkflowEnvironment并使用s.env.ExecuteWorkflow(EntityCreateWorkflow, wfParams). 但是,我在测试中遇到错误,stackEnv not configured因为context.Context在测试环境中运行的活动没有stackEnv设置。如何为我的 指定自定义上下文TestWorkflowEnvironment

0 投票
2 回答
96 浏览

cadence-workflow - Scaling limitation of workflow workers due to continuous polling in Uber Cadece?

I am evaluating cadence for implementing our business orchestration. I understand that the workers continuously poll the task list for tasks to execute. My concern here is that will it cause any scale problems? The worker is always busy and continuously polling some database, along with this it also needs to execute the business logic so is there a possibility that it runs out of resources and then crashes or drops the tasks to execute?

How does this polling mechanism scale when we have millions of workflows? Will it cause delays in executing the workflow code, when we have millions of tasks in the task list?

0 投票
1 回答
57 浏览

cadence-workflow - 从工作流代码中的 defer() 调用工作流活动是否安全?

基本上有包罗万象的活动,ActivityCleanupNoError 和 ActivityCleanupError,我们想要在工作流退出时执行(特别是在我们不想在所有错误返回中重复调用 ActivityCleanupError 的错误情况下。

这适用于分布式决策吗?例如,如果工作流决策的所有权从一个工作人员转移到另一个工作人员,是否会触发原始工作人员的延迟?

额外问题:记录器是否在每次工作流运行时只强制记录一次?即使决策从一名工人转移到另一名工人?您是否希望看到日志行出现在两个工作人员的日志中?还是幕后有魔法来防止这种情况发生?

0 投票
1 回答
38 浏览

java - 如何将 yaml 属性传递给 Uber Cadence cronSchedule 注释

我是 uber Cadence 的新手,正在尝试编写一个 cron 计划任务。Cadence 提供了一个 cronSchedule 注释(在线查找示例),它采用一个 cron 表达式字符串,用于在特定时间触发的方法。但是,我希望根据我们在 yml 文件中设置的内容来加载这个 cron 表达式。有什么办法吗?我目前只找到了这种@cronSchedule 注释方式来做到这一点。我还发现有一个 WorkflowOption 可以设置 cronSchedule。但是,不知道如何使用它来触发该方法。以下是当前代码。

如果没有办法做到这一点。有谁知道我们是否可以简单地@CronSchedule用 spring 替换这个注释@Scheduled?注释WorkflowMethod是否仍能按预期工作?

0 投票
1 回答
54 浏览

google-cloud-run - 临时工作流可以处理/管理无服务器工作负载吗?

我刚开始研究Temporal,它看起来是一种编排微服务的好方法。我的项目中有基于 knative 和 cloudrun 的微服务,我想调整 Temporal 来编排我的服务之间的工作流。

通过快速浏览文档,我无法确定 Temporal 是否可以管理无服务器微服务(knative/cloudrun)。您是否使用过 Temporal,并且您的项目中是否有无服务器工作负载?如果可以,你能分享你的经验吗?

谢谢

0 投票
0 回答
33 浏览

go - 如何在时间安排多个 cron 工作流?

考虑将字符串数组作为输入,我的目标是为每个字符串安排 cron 作业。我已经尝试为每次输入迭代创建自定义工作流选项并执行相同的操作。在此之后,只有第一个 cron 工作流被安排,而其他 cron 作业无限期地等待。

除此之外,我以相同的方式尝试了子工作流程,但这也只安排了第一个 cron 子工作流程。如果有人可以提供帮助,那就太好了。

0 投票
1 回答
12 浏览

amazon-web-services - 使用 AWS Elasticsearch 在 AWS ECS 上运行临时时看不到工作流

我在 AWS ECS 上部署了 Temporal 和 Temporal Web。我使用这个 Docker Compose 文件复制了配置:https ://github.com/temporalio/docker-compose/blob/main/docker-compose.yml

我使用了这个配置文件:https ://github.com/temporalio/docker-compose/blob/main/dynamicconfig/development_es.yaml

对于 Elasticsearch,我使用了具有 ES v7.10 的启用单节点密码的 AWS Elasticsearch 域。

对于 Postgres,我使用了具有 Postgres v13.3 的启用单实例密码的 AWS RDS 数据库。

我对 Temporal 的任务定义如下:

我对 Temporal Web 的任务定义如下:

我能够成功运行这 2 个容器,并且成功连接到 Postgres 和 Elasticsearch 并在其上写入数据。

问题是,我在创建的命名空间和默认命名空间下都看不到临时 Web UI 上的任何工作流,但我可以在 Elasticsearch 上看到数据。

我找不到任何错误日志,我只能在 AWS CloudWatch 下看到临时和临时 Web UI 的信息日志。

我错过了什么?实际问题是什么?是否有任何教程或指南可以使用动态配置使其在 AWS ECS 上与 AWS RDS Postgres 和 AWS Elasticsearch 一起工作?

注意:当我使用 docker-compose 在本地运行它时,它可以工作。

0 投票
1 回答
27 浏览

cadence-workflow - 多线程在 Cadence/Temporal 工作流程中如何工作?

在 Cadence/Temporal 工作流程编程中:

  • 不允许使用本机线程库。例如,在 Java 中,线程必须通过Async.procedureor创建,Async.function而在 Golang 中,线程必须通过workflow.Go. 所以为什么?
  • 有没有像使用本机线程这样的赛车条件?例如Hashtable,还是ConcurrentHashMap应该用来代替HashMap线程安全?