【问题标题】:AWS (Java): Alternative for Lambda to exec stored procAWS (Java):Lambda 执行存储过程的替代方案
【发布时间】:2018-07-10 22:56:05
【问题描述】:

我正在尝试从 AWS lambda 执行我的 oracle 数据库中已经存在的存储过程。但是要完成执行,可能需要超过 5 分钟,这是一个问题,因为 AWS lambda 有最大 5 分钟的时间限制。有没有办法异步执行这个存储过程或替代 aws 解决方案?

【问题讨论】:

  • 即使 Lambda 允许更长的运行时间,听起来您的 Lambda 只会等待绝大多数运行时间。您需要多久运行一次此存储过程?结果需要多实时?
  • 存储过程不会运行太频繁,可能一周一次。如果有办法我可以启动存储过程并从 lambda 退出,那也可以。

标签: java amazon-web-services aws-lambda aws-sdk


【解决方案1】:

直接取自rather old link,看起来您可以执行以下操作:

DECLARE
L_jobno INTEGER;
BEGIN
Dbms_job.submit (
L_jobno,
'BEGIN your_procedure( argument_list ); END;',
Sysdate + interval '1' minute );
Commit;
END; 

根据描述,这将在 1 分钟内在后台触发 your_procedure。关键是submit 方法。但是,这是针对 10g 的 - 您的版本可能会有所不同。

我会设置一个 Lambda 来从您需要时安排的 CloudWatch Event 运行它。 Lambda 可能非常小,因为它只需要启动此过程并退出。我想你还有其他东西可以知道何时可以读取过程的输出。

【讨论】:

    猜你喜欢
    • 2023-04-04
    • 2021-10-03
    • 2019-09-25
    • 1970-01-01
    • 2019-10-20
    • 2020-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多