问题标签 [amazon-swf]
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.
amazon-web-services - 如何在内部使用 Amazon SWF?
我想在我的电脑上尝试 Amazon SWF 开发。但是,在我看来,我必须注册到 Amazon AWS 云才能使用 Amazon Simple Workflow。我需要的是在一台机器上运行所有亚马逊的东西,而不需要亚马逊托管服务(或身份验证)。
Amazon Simple Workflow Service 的文档在此处。
你能帮忙吗?
java - AspectJ AWS 活动生成失败
我目前正在使用 AspectJ 为我的 AWS Activity 生成客户端实施代码。这通常对工作流和活动都非常有效。
值得注意的是,我对 AspectJ 了解不多,因为我只将它用于此代码生成。
但是我已经达到了一个点,即我希望从一个活动中返回一个数组,这会阻止该活动类生成其客户端实现(它也阻止了一些工作流代码的生成,但我认为这是一个副作用)。如果我把数组变成一个列表(只是为了一个测试点),一切都会重新开始工作。我将数组传递给活动的唯一返回它们没有问题。
明确结构。我有一个定义活动的接口和一个执行实现的实现类......所以没什么太疯狂的。
破碎的:
作品:
据我所知,我看不到任何 AspectJ 编译错误,但我只是在看控制台。
我发现的唯一日志显示生成已完成,但他们确实报告生成的文件总数不同(正如预期的那样,因为它损坏了)。
破碎的:
在职的:
我不相信这些日志能告诉我什么,但我认为它们可能对其他人意味着什么。
我不愿意使用 List 实现,因为当活动将接收像 int[] 这样的原语时,我将无法直接将它们转换为 List,这只是所有活动的开销。
我将不胜感激任何建议。
amazon-web-services - AWS SWF 中的活动 ID 是什么?
在 AWS SWF 中安排活动时,您必须提供活动 ID:
这个id的含义和范围是什么?对于工作流的每次调用,它是否应该是唯一的?还是纯粹为了我自己的信息目的?
java - 等待信号开始活动(亚马逊工作流程)
我使用 AWS 提供的 java 流框架构建了一个工作流。我创建了 4 个活动。第一个活动等待信号开始。然后所有活动使用 Promise<> 对象同步执行。工作流程实现代码如下 -
这里活动上传等待对象结果处于就绪状态。因此,当我向工作流发出信号时,方法 signal1 启动并将对象置于就绪状态。但是,一旦我向工作流发出信号,工作流执行就会失败。
我正在使用 nodejs aws api 来表示工作流。以下是相同的代码 -
我在 AWS 工作流事件控制台中显示的执行失败错误如下 -
谁能帮我解决这个错误,非常感谢。
java - AWS SWF Flow 活动开始关闭超时是否包括活动重试?
我正在尝试使用 Java 的 Flow 框架配置我的 SWF 活动之一,但我找不到任何有关 StartToClose 超时是仅针对单个活动尝试还是针对该活动的所有重试尝试的文档。
这是我的活动的配置:
我试图让这个活动预计需要很短的执行时间(例如 5 秒),但如果活动失败,则继续重试活动 2 小时。
- 这个配置会做我想要的吗?
- 我是否需要将 defaultTaskStartToCloseTimeoutSeconds 更改为 7200?
- 如果我需要将 defaultTaskStartToCloseTimeoutSeconds 更改为 7200,那么如果单个活动尝试的执行“太长”(例如 100 秒),我该如何让活动失败?
java - 如何在 AWS SWF 中将对象的数组列表传递给 Promise?
我有一个 Employee 类。在我的工作流程中,我想将员工数组传递给承诺对象。在传递对象数组时,我得到了反序列化错误。请帮忙。
java - 在 JAVA 中将对象上传到 S3 时触发 SWF 工作流
我在 JAVA 中使用 AWS Flow Framework 来构建工作流程。理想情况下,我想在任何对象上传到 S3 时运行工作流。
有没有办法使用 Java 从 S3 捕获事件?如果有人可以向我指出他们使用 JAVA 从 S3 捕获事件通知的示例,那就太好了。
提前致谢
grails - Grails:为编译添加构建任务
我正在使用 grails 2.4.4。我的一些类是带注释的,APT(注释处理工具)必须在编译期间处理这些注释以生成一些源。
grails generate-pom
通过运行并从那里添加特定插件并配置它们,我能够通过创建 maven pom.xml 的解决方法来完成所有工作。
是否有可能使用内置的 grails 编译器配置BuildConfig.groovy
来达到相同的目标而无需通过 maven pom.xml 绕道而行?
更具体地说,我正在使用 AWS SWF 创建一个工作流。SWF 使用应该生成一些客户端类的注释。因此在 pom.xml 我添加了这个。当我运行时它完美地工作mvn compile
:
java - 单元测试 Amazon SWF 子工作流程
我有一个父工作流(ParentWorkflow)调用一个子工作流(ChildWorkflow),我正在尝试测试这个调用。
父代码如下所示:
我想模拟
childWorkflowClient.childWorkflow(x)
调用,但是当我连接单元测试时,我似乎没有注入客户端工厂的选项,单元测试代码如下所示:
我似乎无法将任何东西传递给工作流实现类,还有其他方法可以模拟子工作流吗?
java - 使用 Amazon SWF 限制下游服务的 TPS
我正在使用 Amazon SWF 编写工作流程,并且想知道如何控制下游服务的 TPS。
我有一个父工作流,它启动了几个并行运行的子工作流。
我的子工作流程调用了几个下游服务(每个都在不同的活动中),例如。
- 调用下游服务1,成功则继续,失败则退出
- 调用下游服务2,成功则继续,失败则退出
- ETC
并且我希望能够单独管理下游服务上的 TPS。
如何限制下游服务的 TPS?例如,理想情况下,我希望能够说我希望下游服务 1 的最大 TPS 为 100。在非并发上下文中,我可以使用 Guava RateLimiter 之类的东西,但是这将跨多个主机运行。我可以指定一次只运行 100 个给定活动的实例吗?我在流框架中找不到注释(我正在使用流框架和 Spring)。如果需要,我很乐意将子工作流分成单独的工作流,并让父工作流一个接一个地调用每个子工作流,例如。
子工作流程:
然后,如果上述成功完成,则父工作流将调用调用依赖服务 2 的下一个子工作流,或者如果失败,则父工作流将退出。
是否可以对给定依赖服务工作流的实例数量或给定活动设置并发限制?这是任务列表的良好/潜在用法吗?我可以通过工作主机的数量来控制 TPS 吗?
感谢您的任何建议!