Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.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
从Azure ServiceBus基础架构调用WebJob(不要连续运行WebJob)_Azure_Azureservicebus_Azure Webjobs - Fatal编程技术网

从Azure ServiceBus基础架构调用WebJob(不要连续运行WebJob)

从Azure ServiceBus基础架构调用WebJob(不要连续运行WebJob),azure,azureservicebus,azure-webjobs,Azure,Azureservicebus,Azure Webjobs,我试图找出是否可以运行手动调度的webjob,并在消息到达servicebus队列时启动它 因此,webjob不会连续运行,而是仅在消息到达时运行。 (从而节省资源成本) 到目前为止,我尝试的是: 在Program.cs中 public static async Task Main() { JobHostConfiguration config = new JobHostConfiguration(); _servicesBusConnectionStr

我试图找出是否可以运行手动调度的webjob,并在消息到达servicebus队列时启动它

因此,webjob不会连续运行,而是仅在消息到达时运行。 (从而节省资源成本)

到目前为止,我尝试的是:

在Program.cs中

public static async Task Main()
    {
        JobHostConfiguration config = new JobHostConfiguration();

        _servicesBusConnectionString = AmbientConnectionStringProvider.Instance.GetConnectionString(ConnectionStringNames.ServiceBus);

        ServiceBusConfiguration serviceBusConfig = new ServiceBusConfiguration();

        config.UseServiceBus(serviceBusConfig);

        JobHost host = new JobHost(config);

        Console.WriteLine("Starting host");
        host.RunAndBlock();
    }
在Functions.cs中

public static void SBQueue2SBQueue([ServiceBusTrigger("createinvoice")] string start)
{
    Console.WriteLine("Receiving a message");
}
和一个run.cmd来启动进程

@echo off

dotnet CoreConsoleWebJob.dll
然而,在这个解决方案中,我从azure控制台启动手动触发的webjob。host.RunAndBlock();阻止线程,但一段时间后进程失败,因为它空闲时间太长,webjob被关闭

是否有可能由azure servicebus基础架构调用该进程?或者说,连续的网络作业总是一条出路


提前谢谢

Web作业在应用程序服务计划上运行。而且,既然你已经为应用服务计划付费,那么如果不让webjob持续运行,你就不会省下任何钱。如果你想省钱的话,可以把它作为一种工具来使用

这确实节省了钱,因为您只在函数运行时付款。触发器是开箱即用的,这很好:)

当您使用消费计划时,会根据传入事件的数量动态添加和删除Azure功能主机的实例。此无服务器计划会自动扩展,并且仅当您的函数正在运行时,才会向您收取计算资源费用


更多信息请点击此处:

好的,谢谢,这就澄清了问题。