当前位置: 首页 > 知识库问答 >
问题:

Azure Webapp服务总线强制重启

韶云瀚
2023-03-14

我对azure资源有问题。我有一个资源组,有两个web应用,一个是WebApp Api,第二个是service bus的WebApp。

直到昨天,我才意识到这个问题的存在。事件的动态如下。

在一些特定的场景中,当我更新我的应用程序接口(只有应用程序接口)时,我运行了一个新版本,它部署了新内容并重启了网络应用程序(在这种情况下,管道的目标是应用程序接口和服务),但是昨天我意识到如果我更新了应用程序接口不要碰服务,运行我的管道,Azure运营模式,不会为服务创造新的实现,但回复部署旧的,因为那里没有变化。

我不介意创建一个全新的Realize(无论如何都会很好),但我需要这个过程来自动重启这个web应用服务。

这是我的问题,我家里有人可以帮我解决。

有没有一种方法可以强迫一个web应用程序重新启动和更新,或者强迫它创建一个新的Realize,即使代码没有更改?

非常感谢你的时间和帮助家伙。

共有1个答案

蒋星驰
2023-03-14

HTTP

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart?api-version=2019-08-01

具有可选参数:

HTTP

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart?softRestart={softRestart}&synchronous={synchronous}&api-version=2019-08-01

动力壳

Login-AzureRmAccount
Select-AzureRmSubscription -SubscriptionId '{your subscriptionid}'

$siteName = "{sitename}"
$rgGroup = "{groupname}" 

$webSiteInstances = @()

#This gives you list of instances
$webSiteInstances = Get-AzureRmResource -ResourceGroupName $rgGroup -ResourceType Microsoft.Web/sites/instances -ResourceName $siteName -ApiVersion 2015-11-01 

$sub = (Get-AzureRmContext).Subscription.SubscriptionId 

foreach ($instance in $webSiteInstances)
{
    $instanceId = $instance.Name
    "Going to enumerate all processes on {0} instance" -f $instanceId 

    # This gives you list of processes running
    # on a particular instance
    $processList =  Get-AzureRmResource `
                    -ResourceId /subscriptions/$sub/resourceGroups/$rgGroup/providers/Microsoft.Web/sites/$sitename/instances/$instanceId/processes `
                    -ApiVersion 2015-08-01 

    foreach ($process in $processList)
    {               
        if ($process.Properties.Name -eq "w3wp")
        {            
            $resourceId = "/subscriptions/$sub/resourceGroups/$rgGroup/providers/Microsoft.Web/sites/$sitename/instances/$instanceId/processes/" + $process.Properties.Id            
            $processInfoJson = Get-AzureRmResource -ResourceId  $resourceId  -ApiVersion 2015-08-01                                     

            # is_scm_site is a property which is set
            # on the worker process for the KUDU 

                $computerName = $processInfoJson.Properties.Environment_variables.COMPUTERNAME

                if ($processInfoJson.Properties.is_scm_site -ne $true)
            {
                $computerName = $processInfoJson.Properties.Environment_variables.COMPUTERNAME
                "Instance ID" + $instanceId  + "is for " +   $computerName

                "Going to stop this process " + $processInfoJson.Name + " with PID " + $processInfoJson.Properties.Id

                # Remove-AzureRMResource finally STOPS the worker process
                $result = Remove-AzureRmResource -ResourceId $resourceId -ApiVersion 2015-08-01 -Force 

                if ($result -eq $true)
                { 
                    "Process {0} stopped " -f $processInfoJson.Properties.Id
                }
            }       
       }

    }
}

你可以参考网络应用-重启,如何在特定时间后自动重启应用服务,以及Powershell,用于在Azure Web应用程序上重新启动高级应用程序

 类似资料:
  • 有人能解释一下新发布的WindowsServiceBus(内部部署,而不是Azure)和NServiceBus之间的区别吗? 寻找详细的答案什么窗口SB可能会丢失,因为我很熟悉NSErviceBus可以做什么: 它是真正的服务总线,而不仅仅是使用队列的消息代理吗? 是否可以支持消息多态?(消息子类化其他消息和支持此层次结构的处理程序 长时间运行的进程和相关性 向外扩展

  • 我正在使用Microsoft Azure ServiceBus对队列消息进行排队,并使用WCF对订阅进行排队。我正在尝试实现重试逻辑。我使用Peak/Lock查看消息,然后必须对消息进行一些本地处理。如果处理失败,我将解锁消息,以便再次尝试处理它。问题是我需要在处理尝试之间建立一个延迟。当前,它被弹出回队列,然后几乎立即被处理。两次尝试之间需要大约2分钟。

  • 我正在尝试为Windows配置服务总线,但在将主机添加到服务总线场的阶段,它无法启动服务总线网关。 事件日志中指出: 如何解决此问题?

  • 我正在开发一个客户端,它可以从Windows服务总线读取消息,该消息是使用发送的。净额。客户端是使用Java开发的,据我所知,它创建会话,但当它创建会话时,使用者抛出一个JMSException,它只告诉我以下消息:amqp:不允许 有线索吗? 顺致敬意,

  • 我一直在尝试创建一个客户端来连接我的Azure服务总线队列。我一直在参考此文档: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-java-how-to-use-queues#send-消息到队列。 我的代码: 在创建客户端时,我遇到以下错误: 通用域名格式。微软蔚蓝色的服务总线。原语。Service