AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 826083
Accepted
TommyBs
TommyBs
Asked: 2017-01-14 03:26:52 +0800 CST2017-01-14 03:26:52 +0800 CST 2017-01-14 03:26:52 +0800 CST

带有数据的 AWS 计划任务

  • 772

我目前在 lambda 中有一个函数,当调用它时,它会向调用它的用户发送一条消息。2 天后,我想发送后续消息。发送实际消息的所有代码都可以正常工作。

由于自动缩放功能,我正在使用 Lambda,理想情况下,我希望避免设置一个单独的数据库来存储 userId、原始交互的时间戳(这样我就可以计算出跟进时间)并遵循2天后up消息。其原因是由于缩放,因为我不确定峰值何时会出现。这是一个短框架项目,但它期待高参与度,但在未知的、不同的时间。

我最初考虑 SNS 使用数据调用另一个 lambda 函数,但是,后来我发现 SNS 不支持预定消息。理想情况下,我也不想涉及轮询其他服务。有什么好的解决方案吗?

我意识到不使用数据库是一个很大的限制,如果我必须使用一个,那么我将使用一个,但仍然不必轮询会很有用(我想我可以安排一个 lambda 函数并在时间戳上创建一个索引发电机)

amazon-web-services amazon-lambda amazon-sns
  • 1 1 个回答
  • 108 Views

1 个回答

  • Voted
  1. Best Answer
    dsmsk80
    2017-01-21T00:59:11+08:002017-01-21T00:59:11+08:00

    最近宣布AWS Step Functions的服务可以帮助您实施您所描述的内容。该服务可以协调您的应用程序组件的执行,例如Lambda功能。它为您提供了一个图形控制台,您可以在其中对它们之间的依赖关系进行建模,并定义一个捕获应用程序工作流的有限状态机。您可以在以下链接中找到有关该服务的更多信息:

    AWS 步骤函数

    宣布 AWS Step Functions

    回到你的情况。Step Functions 为您提供一种Wait状态,该状态会延迟状态机在指定时间内继续运行。因此,您的应用程序工作流程可能如下所示:

    在此处输入图像描述

    该FirstState状态将执行一个 lambda 函数send a message to a user who invoked it。然后,它将等待 2 天,由wait_using_secondsstate 表示,最后它将执行一个 lambda 函数“发送后续消息”,作为FinalStatestate。

    状态机的定义写成Amazon States Language:

    {
      "Comment": "An example of the Amazon States Language using wait states",
      "StartAt": "FirstState",
      "States": {
        "FirstState": {
          "Type": "Task",
          "Resource": "arn:aws:lambda:REGION:ACCOUNT:function:FUNCTION1",
          "Next": "wait_using_seconds"
        },
        "wait_using_seconds": {
          "Type": "Wait",
          "Seconds": 172800,
          "Next": "FinalState"
        },
    
        "FinalState": {
          "Type": "Task",
          "Resource": "arn:aws:lambda:REGION:ACCOUNT:function:FUNCTION2",
          "End": true
        }
      }
    }
    
    • 0

相关问题

  • 与 AWS 中的其他系统相比,CentOS 报告的总内存较低

  • 如何在 Amazon Linux 服务器上升级到 Java 1.8?

  • 了解 Amazon AWS 使用数据

  • 亚马逊提供的负载均衡服务体验如何?

  • ELB 中现有节点的 AWS 自动缩放问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve