c# - 有限缩放 Azure 函数
问题描述
我有一个场景,我有一个 URL 流,我需要针对这些 URL 发出 HTTP 请求。然后,我将下载收到的数据并将其保存在 Blob 存储中。我必须使用 Azure 函数来执行此操作,以便仅在实际需要处理 URL 时才为服务付费。
但是,我遇到的困难是想出一种通过有限数量的代理触发下载的方法。虽然我很高兴下载功能可以扩展到我可用的代理数量,但我希望每个代理能够处理它连续接收的每个 URL。换句话说,每个代理必须被限制为一次从一个 URL 下载数据。
我考虑将 URL 放在一个队列中,将代理放在另一个队列中,并在其中一个可用时触发一个函数,然后将使用的代理推回代理队列,但函数只能触发一个。
我还考虑过创建与代理一样多的队列并在队列之间分配 URL,但我不确定如何将每个触发函数的并发限制为一个。
有人知道如何做到这一点吗?
解决方案
好的,我通过这篇文章找到了一种方法:
答案是给[Singleton]
函数添加一个属性。
但是,根据此评论,您的实体正在等待处理时您正在花钱:
https://github.com/Azure/azure-functions-host/issues/912#issuecomment-419608830
推荐阅读
- reactjs - 在单个 setState 调用上多次响应状态更新
- pascal - 无法编译 - Turbo Pascal
- mysql - 在 Ubuntu 20.04 上从 MySQL 迁移到 MariaDB
- javascript - d3.js 轴添加刻度值
- git - 写入 node_modules 目录时的管道权限问题
- c++ - 编译错误:Boost.Range / MPL 中没有名为“type”的类型
- java - 构造转换器失败:错误:无法解析 C:
- java - 将类的实例转换为服务(android/Java)时的问题
- ffmpeg - windows上的ffmpeg网络摄像头流到sdl
- c++ - if 条件可以是 for 循环吗?