亚马逊宣布推出AWS Lambda(http://aws.amazon.com/lambda/).
产品描述包括:
计划任务
AWS Lambda函数可以由外部事件计时器触发,因此可以在定期维护时间或非高峰时间运行功能.例如,您可以触发AWS Lambda函数在非繁忙时段执行夜间归档清理.
当我读到这篇文章时,我明白我终于有办法不断地做"类似cron"的任务了.我想每天下午5点运行一个特定的查询.
但是我没有在文档中的任何地方找到它.他们只提到了programatical事件或来自其他AWS服务的事件的触发器.
我误会了吗?或者有人能指出我的文档?
无论好坏,我们已将整个LAMP Web应用程序从专用计算机迁移到云计算(Amazon EC2计算机).到目前为止它很好,但我们做crons的方式是次优的.我有一个特定于亚马逊的问题,关于如何使用"亚马逊方式"在云中最好地管理cron作业.
问题:我们有多个Web服务器,需要为批量作业运行crons,例如创建RSS提要,触发电子邮件,实际上有很多不同的事情.但是cron作业只需要在一台机器上运行,因为它们经常写入数据库,因此如果在多台机器上运行,则会复制结果.
到目前为止,我们将其中一个网络服务器指定为"主网络服务器",并且它有一些其他网络服务器没有的"特殊"任务.云计算的权衡是可靠性 - 我们不需要"主 - 网络服务器",因为它是单点故障.我们希望它们都是相同的,能够升级和缩小,而不记得不将master-webserver从集群中取出.
我们如何重新设计我们的应用程序以将Linux cron作业转换为没有单点故障的临时工作项?
我的想法到目前为止:
更新:自从问及我在YouTube上观看亚马逊简单工作流服务网络研讨会并在34:40(http://www.youtube.com/watch?v=lBUQiek8Jqk#t=34m40s)注意到的问题后,我看到了一个问题.幻灯片提到cron作为示例应用程序.在他们的文档页面" 亚马逊SWF的AWS Flow Framework样本 "中,亚马逊称他们有crons的示例代码:
... > Cron作业在此示例中,长时间运行的工作流会定期执行活动.可以证明能够继续执行新执行,以便执行可以运行很长一段时间....
我下载了适用于Java的AWS开发工具包(http://aws.amazon.com/sdkforjava/),并确保在一个荒谬的文件夹层中埋藏了一些java代码(aws-java-sdk-1.3.6/samples/AwsFlowFramework/src/com/amazonaws/services/simpleworkflow/flow/examples/periodicworkflow).
问题是,如果我是诚实的,这并没有真正的帮助,因为它不是我能用我的技能组合轻易消化的东西.PHP SDK中缺少相同的示例,并且似乎没有可以通过该过程的教程.所以基本上,我还在寻找建议或提示.