Webjob staging slot nie zastavenie po potrubia nasadiť v Azure Devops

0

Otázka

V niektorých nasadených robím na App Service zdroj, ktorý obsahuje 2 sloty a production a staging sloty), na webjob staging nie je zastavenie po odkladacích priestorov.

V podstate mám v potrubí tieto úlohy:

## Start App Service (staging)
- task: AzureAppServiceManage@0
  displayName: 'Start Azure App Service: some-app-webjob (staging)'
  inputs:
    azureSubscription: 'xxx'
    Action: 'Start Azure App Service'
    WebAppName: 'some-app-webjob'
    SpecifySlotOrASE: true
    ResourceGroupName: 'some-rg-app-webjob'
    Slot: staging
##Start staging continuous webjob
- task: AzureAppServiceManage@0
  displayName: 'Start all continuous webjobs: some-app-webjob (staging)'
  inputs:
    azureSubscription: 'Subscrição do Visual Studio Enterprise(c9f20c2b-15cf-41fb-8122-ddf095c6db02)'
    Action: 'Start all continuous webjobs'
    WebAppName: 'some-app-webjob'
    SpecifySlotOrASE: true
    ResourceGroupName: 'some-rg-app-webjob'
    Slot: 'staging'

## Swap Slots (staging to production)
- task: AzureAppServiceManage@0
  displayName: 'Swap Slots: some-app-webjob'
  inputs:
    azureSubscription: 'xxx'
    WebAppName: 'some-app-webjob'
    ResourceGroupName: 'some-rg-app-webjob'
    SourceSlot: staging
    TargetSlot: production

# Stop WebJobs running Staging
- task: AzureAppServiceManage@0
  displayName: 'Stop all continuous webjobs: some-app-webjob (staging)'
  inputs:
    azureSubscription: 'xxx'
    Action: 'Stop all continuous webjobs'
    WebAppName: 'some-app-webjob'
    SpecifySlotOrASE: true
    ResourceGroupName: 'some-rg-app-webjob'
    Slot: staging
    
## Stop App Service (staging)
- task: AzureAppServiceManage@0
  displayName: 'Stop Azure App Service: some-app-webjob (staging)'
  inputs:
    azureSubscription: 'xxx'
    Action: 'Stop Azure App Service'
    WebAppName: 'some-app-webjob'
    SpecifySlotOrASE: true
    ResourceGroupName: 'some-rg-app-webjob'
    Slot: staging

Ak som sa ísť pozrieť do mojej slot oddychové app služba zastavená. Ale niekedy workjob pokračujú, kým to nemali. keďže mám úlohu, ktorú by mali top všetky kontinuálne webjobs po swap s výrobou.

V zhrnúť to sa môže stať:

  • kontinuálne webjob v slot oddychové beží
  • kontinuálne webjob v slot výroba beží

Po hľadaní som našiel tento github niť https://github.com/projectkudu/kudu/issues/1886 To znamená, že webjobs sú spustené v scm mieste, ktoré nie je ovplyvnené stop stránky príkaz. Stále som úlohu, ktorú vraj zastaví všetky kontinuálne webjobs.

Existujú nejaké dôvody, prečo sa to stalo? Ako môžeme zabrániť? Nechcem o webjob so starými kód beží po nasadenie.

1

Najlepšiu odpoveď

1

Ak chcete nasadiť kontinuálne WebJob v zastavenom stave jednoducho pridať súbor s názvom disable.job pri koreni vášho WebJob (binárne), bude to povedať rámec, ktorý WebJob je momentálne zastavené.

Môžete pridať Aplikáciu Nastavenie WEBJOBS_STOPPED na vaše oddychové slotu a nastaviť ho tak, aby 1 (v azure portál). Aby sa toto nastavenie 'Slot Nastavenie' tak, že to nie je zamenený s výrobou.

To je to, čo sa stane, keď si vymeniť zdroj slot (Staging) do cieľovej slot (Výroby).

  • Po prvé, Oddychové miesto je potrebné ísť cez niektoré zmeny nastavení pre Aplikáciu Nastavenia a Pripojenie Reťazce, ktoré sú označené ako "slot'. Sú tam aj ďalšie zmeny sa týkali zdroj ovládacieho prvku, ktorý môže byť potrebné použiť. To spôsobuje, Oddychové stránky reštartovať, čo je v poriadku.

  • Ďalej, Oddychové miesto dostane zahreje, tým, že žiadosť odoslaný na jeho koreň cesta (t.j. '/'), a čaká na dokončenie.

  • Teraz, že Oddychové miesto je teplé, dostane vymenil do Výroby. Nie je čas, dole, pretože to ide rovno z jedného teplého stránky do iného.

  • Nakoniec, o stránkach, ktoré používaný na Výrobu a je teraz Oddychové tiež potrebuje získať nejaké nastavenia platia, spôsobuje to, aby reštartovať. Opäť, to je v poriadku, pretože to sa deje v inscenácii stránky.

Nechcem o webjob so starými kód beží po nasadenie.

  • Skontrolujte, či máte fáze prostredie (pridanie etapy na Webapp mena), a ak áno, tak choďte do Azure management portál a zastaviť ich.

  • Nestačí zastaviť Webapp, musíte zastaviť WebJobs priamo. Je to hotovo (v novom portáli) v Nastavenia->WebJobs a potom kliknutím pravým tlačidlom myši na webjobs meno, vyberte zastaviť.

Nájdete Azure Web Apps (webové Stránky) Nasadenie Sloty pre viac informácií.

2021-11-24 08:07:57

Ahoj @HarshithaVeeramalla-MT myslím, že vlajka WEBJOBS_STOPPED je skvelé riešenie aplikované na oddychové slotu. To elegantne zastaviť webjob, ktorý bol vymenený?
Nmaster88

HarshithaVeeramalla-MT

WEBJOB_STOPPED s hodnotou 1 zastaviť všetky WebJobs beží na vašom webe. Môže to byť šikovný ako spôsob, ako zabrániť konfliktným WebJobs od beží ako v oddychové a výrobných priestorov.
HarshithaVeeramalla-MT

vďaka už som si to, ale to sa nezdá byť jednoznačné, ako to prestane kontinuálne webjobs. To len hovorí, že sa zastavuje, predpokladám, že to zabíja procesu.
Nmaster88

Pre kontinuálne, môžete to urobiť jednoducho tým, že súbor s názvom "vypnúť.prácu" v koreni WebJob directory.
HarshithaVeeramalla-MT

Nájdete kontinuálne WebJob bode 6
HarshithaVeeramalla-MT

Ja som uplatňovaní WEBJOBS_STOPPED vlajky na oboch oddychové slotu. To zastaví oboch kontinuálne a vyvolalo webjpbs od beží ako kúzlo.
Nmaster88

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................