问题标签 [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.

0 投票
1 回答
1184 浏览

user-interface - 在 AWS SWF 上,发布用户界面(html css js)的好方法是什么?

首先,请抱歉,我刚开始在 AWS 上开发应用程序,我有一些问题对你来说可能很容易,但对我来说不是真的……但无法找到任何关于 SWF 上 Java 网站的 Web 集成的回复。 ..

我也是spring框架的新用户,我需要做一些关于它的教程(或者不是?SWF文档就足够了吗?)。但我的问题是针对那些已经在这方面花费时间并且可以说出对我来说最好的方法的人的问题。(为什么?)

  • UI 设计中有什么好的方法可以让基于 Web 的应用程序具有 ui 动态变化?(如内容幻灯片、菜单等……最具扩展性的选择)

将视图(例如在 Elastic Beanstalk 上运行的 GWT Web 界面,或使用良好 MVC PHP 框架的 CloudFront PHP 界面?)与在 SWF 上运行的模型分离?全部由 API 链接。

或者让我的完整 Web 应用程序使用 Flow FrameWork 和 GWT?(或其他技术?现在我选择了这个,即使我也必须学习教程,但为什么不使用新的 Dart Google 的解决方案呢?)

  • 有效地做到这一点的最简单方法是什么?

我了解 SWF 逻辑方法,并且我的所有项目架构(即可扩展的 SWF 模型)都在我的脑海中,但很明显,如果我想在我的项目中添加一个新服务,并且该服务想要获取现有的列表对象(例如存储在 DynamoDB 中),我想轻松地显示这些信息,因为我已经为这个对象做了。

因此,通过 PHP 界面上的模型副本,我想我可以关联方法来显示这个对象,从而集中 PHP 项目来显示我的对象并使用 PHP 启动工作流(搜索和只读?),并且SWF 有一个很好的工作模型来启动那些 WF。这是一个好方法吗?有没有真正适合这样做的 PHP 框架?相反,我在非 swf java UI 应用程序上执行此操作?

0 投票
1 回答
2284 浏览

java - 亚马逊简单的工作流-并行处理任务,只有在前一阶段的所有并行流程完成后才进入下一阶段

我正在努力创建一个应用程序,其中有多个阶段 - 在第一阶段有多个任务要并行执行......一旦该阶段的所有任务都已完成,只有这样处理才能进入下一阶段。

从我读到的关于决策者的内容中,决策者可以从下一阶段的许多可能选项中进行选择。

但是只有当当前阶段的所有并行进程都完成时,我才想进入下一个阶段。

这是否意味着我应该设置每个并行进程来调用下一个阶段,并且在下一个阶段初始化时,它应该检查上一个阶段的所有并行进程是否完成,然后才真正开始处理?这意味着第一阶段的所有并行进程都将调用corresp。第二阶段的并行进程,其中只有一个将实际进行处理(因为这将是发现前一阶段的所有进程都完成的进程)。

有没有更好的方法来实现这一点?这样下一个阶段的过程只被调用一次?

0 投票
2 回答
2470 浏览

r - 用于短期任务的 Amazon EC2 按需工作人员

我正在寻找构建一个 Web 应用程序,该应用程序需要在 R 中按需运行资源密集型 MCMC(马尔可夫链蒙特卡罗)计算,以便为用户生成一些概率图。

约束:

  1. 显然我不想在与 Web 应用前端相同的服务器上运行资源密集型计算,因此需要将这些任务交给工作实例

  2. 这些计算需要大量的 CPU 才能运行,我希望尽可能降低延迟(希望是几秒钟,而不是几分钟),所以我更愿意在更强大的硬件上运行计算。

  3. 我负担不起以约 66 美分/小时 x 24 小时/天的速度运行强大的 EC2 实例,因此可能需要按需或现场请求实例。

以下是我提出的选项:

  1. 每天 24 小时运行一个廉价且负担得起的工作实例,该实例一次执行一项任务,由 Amazon SWF(或 SQS)管理。

    缺点:

    • 高延迟- 更便宜的硬件,更长的等待时间。



  2. 为每个任务生成一个更强大的工作实例(只要将作业添加到队列中就会启动)并在完成时终止实例。

    缺点:

    • 昂贵/浪费- 我每次都要在服务器上支付一个小时,并且只用几秒钟来计算

    • 启动开销——按需启动一个新的 EC2 实例会引入不可忽略的延迟(抵消使用更强大硬件的全部目的)吗?



  3. 与 #2 类似,但 EC2 现货请求出价低。

    缺点:

    • 启动开销- 见 #2

    • 不一致?- 我以前从未处理过现场请求,所以我不知道这样的解决方案会有多不稳定或动手操作......我是否必须不断调整我的出价以确保我仍然可以在高峰时间完成任务? 另外,我想我必须密切监视我的流程,以确保它们在计算过程中不会被中断。



  4. 某种混合解决方案,我主动监控强大的硬件工作实例及其负载,并每小时智能地启动和终止实例,以保持成本和可用性的最佳平衡

    • 复杂且昂贵的设置——除非有一个很好的托管服务来处理这样的事情,否则我必须自己设置所有的基础设施......

我希望有一些服务可以让我按分钟而不是按小时为高度可用的按需硬件付费。

所以我的问题如下:

  • 你会如何建议解决这个问题?

  • 是否有一个很好的 EC2 实例管理解决方案可以位于 Amazon SWF 之上并帮助我进行负载平衡和终止空闲工作人员?

  • 现场请求投标会解决我的问题,还是更适合不一定需要立即完成的任务?

0 投票
1 回答
1631 浏览

java - Amazon SWF 初学者 - 如何开始执行一个工作流程循环

我正在查看可用于 Amazon SWF 和 Flow Framework(即 Java)的示例——在这些示例中,我注意到有一个带有“main”的类可以启动工作流执行——还有其他类似的带有“main”的类启动工作流工作者和活动工作者(即工作流主机和活动主机)。

这是否意味着要运行工作流,我必须将所有 3 个类的执行代码放入我的 void main 中?即我必须自己启动工作流主机、活动主机并启动工作流吗?还是我只需要以指定格式定义 WorkFlow Host 和 Activity Host 类,然后使用 Workflow 客户端工厂启动工作流?

0 投票
2 回答
990 浏览

amazon-swf - 使用 AWS Simple Workflow Service 进行递归

我有一个简单的异步方法:

这就是我正在做的,看看我的某个要求是否可行。我本质上希望某些操作分批执行,其中每个批次的成员并行运行。我基本上有另一个活动(在另一个班级):

我得到的输出是(我用 100 调用 doSomething):

之后,工作流执行失败并给我一个错误,指出找不到活动。为什么没有找到?第一次处决时是如何发现的?

0 投票
1 回答
517 浏览

amazon-swf - 在 Amazon SWF 中使用不同的参数计划相同的活动

我正在尝试在 Amazon SWF 中安排活动。最初,我曾经遍历一个列表并为列表的每个值安排活动。但这会并行调用我不想要的活动。所以,我修改了我的代码来做这样的事情:

虽然代码正在运行,但我不确定这是否是正确的方法。任何评论都会有所帮助。

0 投票
1 回答
636 浏览

php - Amazon SWF:如果最后一个 SWF 事件类型是 DecisionTaskCompleted,则决策程序会卡住

我正在运行一个简单的 Decider pollForDecisionTask 循环。但是当 Amazon SWF 的最后一个事件类型是DecisionTaskCompleted时,它就会卡住。我的意思是,响应很好,但是 taskToken 是空的!!有人有线索吗?我重新检查了任务列表和域名,但没有任何效果。

0 投票
2 回答
1638 浏览

java - 亚马逊 SWF @Signal

有没有办法从 Amazon SWF 工作流的活动中调用 @Signal 函数。我希望能够通知工作流某些处理已完成,并且它应该为该处理的子集生成一个子工作流。这将如何完成?

0 投票
1 回答
1754 浏览

amazon-swf - 适用于长期运行的业务工作流程的 Amazon SWF

我正在评估 Amazon SWF 作为构建分布式工作流系统的选项。主要语言将是 Java,因此 Flow 框架是一个显而易见的选择。只有一件事让我感到困惑,在我推荐它作为我们架构中的关键组件之前,我会得到一些其他的意见:

这些示例都是关于在确定的、相对较短的时间段(即几分钟后)后产生结果的任务。在我们现实生活中的业务工作流程中,事情看起来有所不同,这里我们的任务可能需要数周才能完成。我已经检查了计算器,工作流程持续 30 天左右不会导致成本爆炸,所以他们似乎已经考虑到了这种可能性。

有人在这样的场景中使用过 SWF 并且可以分享任何经验吗?是否有任何建议,最佳实践如何设计这样的工作流程?Flow在这里是正确的选择吗?

在我看来,Activity 实现最终有望同步返回一个值,但是,对于长时间运行的事务,我们宁愿使用消息异步发回工作人员结果。

任何有用的反馈表示赞赏。

0 投票
2 回答
1828 浏览

amazon-web-services - AWS Elastic Beanstalk - 启动 SWF 后台工作程序

我一直在尝试找出在 AWS Elastic beanstalk 上使用 PHP 运行后台作业的最佳方法,并且在 Google 和 SO 上搜索了数小时后,我相信一个好的解决方案是使用 SWF 和活动工作者。

我发现这个例子隐藏在 aws-sdk-for-php 中:https ://github.com/amazonwebservices/aws-sdk-for-php/tree/master/_samples/AmazonSimpleWorkflow/cron

自述文件说:

要运行此示例,您需要在单独的终端/控制台窗口中从命令行执行三个脚本

请注意,start_cron_example_workflow.php 脚本将快速退出,而决策者和活动工作者脚本将继续运行,直到您手动终止它们。

决策者和活动工作者将“永远”循环,尝试在 EB 中运行这些是我遇到的麻烦。

在我的 .ebextensions 目录中,我有一个执行这些文件的文件:

但我收到以下错误消息:

错误
无法部署应用程序版本。

错误 某些实例没有响应命令。未收到来自 [i-a5417ed4] 的回复。

有什么办法可以使用配置文件来做到这一点?如何在不引入单点故障的情况下在 AWS EB 中进行这项工作?

谢谢你。