将 maxPollingInterval 设置得尽可能小有什么缺点?
What are drawbacks for setting maxPollingInterval as minimal as possible?
我在 Azure 上有一个网络作业和一个 blob 存储。当消息到达 blob 存储时,webjob 将接收此消息并以某种方式处理它。
webjob 以某个时间间隔轮询 blob 存储。我想将 maxPollingInterval 设置为尽可能小的值。最小值为 100 毫秒。
这个决定有什么缺点吗?
紧密的轮询循环可能会产生问题 - 如果它们是同步的,它们可能会导致在处理文件时等待很长时间。如果它们是异步的,它们可能会拾取同一个文件两次,因为它可能无法在下一次轮询之前完成处理。
如果您想要最快的响应,请选择 Blob Trigger。您可以将它与 Azure 函数一起使用,我相信 WebJobs 也是如此。这将使您能够尽快做出回应。
[FunctionName("BlobTriggerCSharp")]
public static void Run([BlobTrigger("samples-workitems/{name}")] Stream myBlob, string name, ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
}
This answer也有助于解释函数和webjobs之间的异同。
我在 Azure 上有一个网络作业和一个 blob 存储。当消息到达 blob 存储时,webjob 将接收此消息并以某种方式处理它。 webjob 以某个时间间隔轮询 blob 存储。我想将 maxPollingInterval 设置为尽可能小的值。最小值为 100 毫秒。 这个决定有什么缺点吗?
紧密的轮询循环可能会产生问题 - 如果它们是同步的,它们可能会导致在处理文件时等待很长时间。如果它们是异步的,它们可能会拾取同一个文件两次,因为它可能无法在下一次轮询之前完成处理。
如果您想要最快的响应,请选择 Blob Trigger。您可以将它与 Azure 函数一起使用,我相信 WebJobs 也是如此。这将使您能够尽快做出回应。
[FunctionName("BlobTriggerCSharp")]
public static void Run([BlobTrigger("samples-workitems/{name}")] Stream myBlob, string name, ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
}
This answer也有助于解释函数和webjobs之间的异同。