Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用ruby aws sdk获取活动lambda worker的数量?_Ruby On Rails_Amazon Web Services_Aws Lambda - Fatal编程技术网

Ruby on rails 如何使用ruby aws sdk获取活动lambda worker的数量?

Ruby on rails 如何使用ruby aws sdk获取活动lambda worker的数量?,ruby-on-rails,amazon-web-services,aws-lambda,Ruby On Rails,Amazon Web Services,Aws Lambda,因此,使用AWS Lambda和ruby sdk,我可以调用以下函数: Aws::Lambda::Client.new.invoke_async params 有没有办法查询当前运行的lambda实例的数量 Aws::Lambda::Client.new.number_of_running_instances # returns 17 您可以使用to列表,包括并发执行的数量(命名空间:AWS/Lambda,度量:ConcurrentExecutions),但是需要注意。如Concurrent

因此,使用AWS Lambda和ruby sdk,我可以调用以下函数:

Aws::Lambda::Client.new.invoke_async params
有没有办法查询当前运行的lambda实例的数量

Aws::Lambda::Client.new.number_of_running_instances # returns 17
您可以使用to列表,包括并发执行的数量(命名空间:
AWS/Lambda
,度量:
ConcurrentExecutions
),但是需要注意。如
ConcurrentExecutions
指标文档中所述:

作为帐户中所有函数以及指定了自定义并发限制的函数的聚合度量发出。[…]度量给定时间点上给定函数的并发执行总数。如果在一个时间段内汇总,则必须将其视为平均指标

因此,在查看特定函数的并发执行之前,必须先对Lambda函数设置并发限制。另一方面,根据对问题的评论,这可能会解决数据库阻塞所面临的问题。作为一个副作用,您可能需要处理限制的Lambda调用。

您可以使用to列表,包括并发执行的数量(命名空间:
AWS/Lambda
,度量:
ConcurrentExecutions
),但是需要注意。如
ConcurrentExecutions
指标文档中所述:

作为帐户中所有函数以及指定了自定义并发限制的函数的聚合度量发出。[…]度量给定时间点上给定函数的并发执行总数。如果在一个时间段内汇总,则必须将其视为平均指标


因此,在查看特定函数的并发执行之前,必须先对Lambda函数设置并发限制。另一方面,根据对问题的评论,这可能会解决数据库阻塞所面临的问题。作为一个副作用,您可能需要处理限制的Lambda调用。

我认为没有,但您可以使用CloudWatch度量跟踪与Lambda调用相关的度量。为什么您想知道并发Lambda函数的数量?我有从Rails触发的Lambda调用的峰值,但是由于这些调用占用了太多的数据库,我必须限制在给定时间运行的活动Lambda实例的数量。我想编写一个守护进程,它将不时(比如5分钟)确保我们使用所有可以/需要的lambda调用。比如:Spaws 30个工作人员,30个工作人员,13个工作人员在5分钟后完成,所以我想增加13个新工作人员。不确定您的客户机与Lambda的解耦程度,但是您可以使用SQS并进行某种请求批处理吗?我认为没有,但您可以使用CloudWatch度量跟踪与Lambda调用相关的度量。为什么您想知道并发Lambda函数的数量?我有从Rails触发的Lambda调用的峰值,但是由于这些调用占用了太多的数据库,我必须限制在给定时间运行的活动Lambda实例的数量。我想编写一个守护进程,它将不时(比如5分钟)确保我们使用所有可以/需要的lambda调用。比如:Spaws 30个工人,30个工人,13个工人在5分钟后完成,所以我想增加13个新工人。不确定您的客户机与Lambdas的解耦程度,但是您能使用SQS并进行某种请求批处理吗?