您能否以编程方式打开/关闭无服务器cron函数

您能否以编程方式打开/关闭无服务器cron函数,cron,serverless-framework,serverless,Cron,Serverless Framework,Serverless,情景: 我希望函数A每分钟运行一次,但不是全天候运行。每周大约5-10小时。然而,一个简单的cron概述这些时间在这里是不行的,因为每周5-10个小时是动态的,并且不断变化 功能B将每30分钟运行一次,并确定功能A是否应运行。如果是,它将“打开”,如果不是,它将“关闭” 使用Serverless.com(或其使用的任何FAAS提供商)是否可行 提前谢谢 解决方案#1:使用s3保存开关状态 您可以让第二个函数将开关的状态写入S3上的文件(打开或关闭) 安排第一个函数每分钟运行一次。但确保它在

情景:

  • 我希望函数A每分钟运行一次,但不是全天候运行。每周大约5-10小时。然而,一个简单的cron概述这些时间在这里是不行的,因为每周5-10个小时是动态的,并且不断变化
  • 功能B将每30分钟运行一次,并确定功能A是否应运行。如果是,它将“打开”,如果不是,它将“关闭”
使用Serverless.com(或其使用的任何FAAS提供商)是否可行

提前谢谢

解决方案#1:使用s3保存开关状态
  • 您可以让第二个函数将开关的状态写入S3上的文件(
    打开
    关闭

  • 安排第一个函数每分钟运行一次。但确保它在开始执行其逻辑之前检查S3中“开关文件”的内容

成本

它不会花你很多钱,因为:
60
每小时几次*
24
每天几小时*
31
每月几天=
44640
每月打电话。如果读取标志需要额外的
100ms
,并且您已将内存设置为
1GB
,则这将转换为
44640
*(
0.00001667
GB秒/
10
-100ms每秒-=
$0.0744148
/月)

除了
44640
S3获取请求(
0.001
per
1000
requests)=
44640
*(
0.001
/
1000
)=
$0.04464
/月

解决方案#2:从func2控制func1的cron
在函数2中,使用AWS CloudWatchEvents API可以创建/更新触发函数1的规则的ScheduleExpression(例如,
“cron(****)”
)。阅读更多

Hmmm-我最终做了与你建议的相似的事情。我想,虽然这是一个解决办法,但问题的答案现在应该是“否”?如果你可以编辑你的答案,说我可以将其标记为接受答案(如果并直到出现“是”…@hemal发送解决方案是否打开/关闭Lambda函数