การตรวจสอบความถูกต้องภายหลังของ webjobs จะต้องเริ่มต้นหากยังไม่ได้เริ่มต้น

ตอนนี้ฉันมีสคริปต์สำหรับเริ่ม webjobs และตรวจสอบสถานะว่า webjobs กำลังทำงานอยู่หรือไม่ หากไม่ได้รัน webjobs (ต่อเนื่อง, ทริกเกอร์) ฉันต้องรอสักครู่เพื่อตรวจสอบอีกครั้ง และหากไม่ได้ทำงานอยู่ฉันต้องเริ่มสิ่งเหล่านั้น งานที่ไม่ได้ทำงานอยู่ เพื่อให้งานนี้สำเร็จ ฉันต้องการสคริปต์ Power Shell ใครสามารถช่วยฉันในเรื่องนี้ได้บ้าง


person PDBR PRAVEEN    schedule 01.11.2017    source แหล่งที่มา
comment
ขออภัย คุณช่วยเจาะจงมากขึ้นเกี่ยวกับสิ่งที่คุณพยายามทำให้สำเร็จได้ไหม คุณต้องใช้ PowerShell หรือไม่? คุณสามารถใช้ TimerTrigger แทนที่จะรีสตาร์ทงานได้หรือไม่ ข้อมูลที่เป็นประโยชน์อื่น ๆ จะดีมาก   -  person Thomas    schedule 02.11.2017
comment
ฉันแค่ต้องตรวจสอบงานเว็บทั้งหมดที่ทำงานอย่างถูกต้องหรือไม่เพียงครั้งเดียวหลังจากการปรับใช้ webApp ใน Azure ให้เริ่มขั้นตอนงานเว็บ โดยปกติฉันจะหยุดบริการ webApp-หยุด webjobs-ปรับใช้เว็บแอป-เริ่มงานเว็บ-เริ่มบริการเว็บแอป .. หลังจากทำตามขั้นตอนข้างต้นเสร็จแล้ว ฉันจำเป็นต้องตรวจสอบว่า webjobs ทั้งหมดทำงานอย่างถูกต้องหรือไม่ แค่นั้นแหละ. ฉันต้องการสคริปต์ Power Shell เพื่อการตรวจสอบ   -  person PDBR PRAVEEN    schedule 02.11.2017
comment
ปลั๊กอินใดบ้างที่มีอยู่ใน vsts สำหรับการตรวจสอบความถูกต้องของ webjobs   -  person PDBR PRAVEEN    schedule 02.11.2017
comment
ทริกเกอร์เวลาที่คุณกล่าวถึงคืออะไร เราเป็นปลั๊กอินหรืออะไร?   -  person PDBR PRAVEEN    schedule 02.11.2017


คำตอบ (1)


หากความเข้าใจของฉันถูกต้อง คุณอาจลองทำตามสคริปต์ก็ได้

$ResourceGroupName=""
$AppService=""
$Apiversion=""
##ContinuousWebJobs
$continuejob=Get-AzureRmResource -ResourceGroupName $ResourceGroupName -ResourceName $AppService -ResourceType Microsoft.web/sites/ContinuousWebJobs -ApiVersion $Apiversion 
$status=$continuejob.Properties.status
#$status='Running'
$j=1
while($j -le 5)
{
     if($status -ne 'Running')
     {
        $continuejob=Get-AzureRmResource -ResourceGroupName $ResourceGroupName -ResourceName $AppService -ResourceType Microsoft.web/sites/ContinuousWebJobs -ApiVersion $Apiversion 
        $status=$continuejob.Properties.status
        $j+=1 
        "waiting for running, will sleep 6s..."
        sleep 6
     }else{
        Write-Host "already running, exit this script" -BackgroundColor White -ForegroundColor Green
        sleep 6 
        quit
     }
}
Write-Host  "Error:waiting for 30s already, The job is not running" -ForegroundColor Red -BackgroundColor Red

หากงานของคุณไม่ได้ทำงานอยู่ ให้รอ 6 วินาทีแล้วทดสอบอีกครั้ง

person Shui shengbao    schedule 02.11.2017
comment
ฉันยังไม่ได้ทดสอบ ฉันจะแจ้งให้คุณทราบภายในวันพรุ่งนี้ ขอบคุณมาก. - person PDBR PRAVEEN; 02.11.2017
comment
พี่ชาย คุณช่วยฉันในการปรับใช้ข้อมูลตารางในพื้นที่เก็บข้อมูลตารางได้ไหม ฉันเปิดเธรดใหม่แล้ว โปรดช่วยฉันด้วย ด้านล่างนี้คือลิงค์ stackoverflow.com/ คำถาม/47091334/ - person PDBR PRAVEEN; 03.11.2017
comment
@PDBRPRAVEEN ขออภัย ฉันไม่เก่งเรื่องนี้ ฉันคิดว่าทีมสนับสนุน Azure จะช่วยคุณได้ - person Shui shengbao; 03.11.2017
comment
คุณมีการติดต่อใด ๆ ของพวกเขา. ฉันจะเข้าใกล้โดยตรง - person PDBR PRAVEEN; 03.11.2017
comment
ตอนนี้ฉันมีข้อกำหนดเช่นถ้างานต่อเนื่องไม่อยู่ในสถานะกำลังทำงานอยู่โดยตรวจสอบด้วยสคริปต์ด้านบนแม้ว่าจะตรวจสอบเป็นเวลา 30 วินาทีแล้วก็ตาม ฉันก็ต้องทำให้สคริปต์หรืองานนี้ล้มเหลว เพื่อที่ฉันจะได้รู้ว่างานไม่ได้ทำงานอยู่ เราสามารถตรวจสอบสถานะในบันทึกได้ แต่หากฉันทำสคริปต์หรืองานล้มเหลว ฉันจะรู้ว่างานไม่ได้กำลังทำงานอยู่ แล้วเราจะทำเช่นนั้นได้อย่างไร? อีกประการหนึ่ง หลังจากที่งาน build หรือ release แต่ละครั้งล้มเหลว VSTS ควรทริกเกอร์เมลไปยังสมาชิกในทีมของฉันทั้งหมด ฉันจะทำอย่างไร - person PDBR PRAVEEN; 08.11.2017
comment
@PDBRPRAVEEN สวัสดี นี่เป็นปัญหา VSTS บางทีคุณอาจถามคำถามใหม่เกี่ยวกับเรื่องนี้ - person Shui shengbao; 09.11.2017
comment
อย่างน้อยคุณช่วยฉันได้ในส่วนที่ล้มเหลว หาก webjobs ไม่ทำงานแม้จะตรวจสอบสถานะเป็นเวลา 30 วินาทีแล้ว ฉันต้องการให้สคริปต์นั้นล้มเหลว ฉันจะทำเช่นนี้ได้อย่างไร? - person PDBR PRAVEEN; 09.11.2017
comment
@PDBRPRAVEEN ฉันอัปเดตคำตอบบางทีคุณอาจตรวจสอบได้ หากสคริปต์ทำงานได้สำเร็จ สคริปต์จะออกจากสคริปต์ หากล้มเหลว สคริปต์จะพิมพ์บันทึกข้อผิดพลาด - person Shui shengbao; 09.11.2017
comment
ฉันกำลังประสบปัญหาหนึ่งที่นี่ สมมติว่าฉันมี webjobs ต่อเนื่อง 4 งาน ในจำนวนนี้มี 2 งานกำลังทำงานอยู่ และ 2 งานไม่ทำงาน ฉันเริ่มงานเว็บแล้วหลังจากนั้นสคริปต์ของคุณจะตรวจสอบว่างานเว็บเริ่มต้นอย่างถูกต้องหรือไม่ สมมติว่านี่ กรณีที่ 2 งานเว็บของฉันใช้เวลาในการเริ่มต้น ในกรณีนี้สคริปต์ของคุณควรตรวจสอบสถานะทุกๆ 6 วินาทีและล้มเหลวในขั้นตอนนี้หรือไม่? เนื่องจากมีเพียง 2 งานเท่านั้นที่กำลังทำงานอยู่ แต่สคริปต์ของคุณกำลังตรวจสอบเฉพาะค่าแรกของ $status และออกมาและบอกว่ากำลังทำงานอยู่ มันไม่รับสถานะของ webjobs ทั้งหมด - person PDBR PRAVEEN; 17.11.2017
comment
สมมติว่าตัวแปร $status กำลังมีค่าที่ทำงานอยู่ หยุด หยุด สำหรับงานเว็บต่อเนื่อง 4 งาน โปรดบอกวิธีแก้ปัญหานี้ให้ฉันทราบในขณะที่ฉันลองใช้สคริปต์นี้ มันตรวจสอบเฉพาะค่าแรกของตัวแปร $status และบอกว่าเอาต์พุตทำงานแม้ว่า 2 งานไม่ได้ทำงาน - person PDBR PRAVEEN; 17.11.2017
comment
สวัสดี คุณสามารถใช้งาน VSTS ที่แตกต่างกันเพื่อตรวจสอบงานที่แตกต่างกันได้หรือไม่ - person Shui shengbao; 20.11.2017
comment
ฉันไม่เข้าใจคุณ คุณช่วยบอกฉันให้ชัดเจนได้ไหม อย่างที่ฉันบอกคุณไปแล้ว ตัวแปร $status กำลังคงสถานะของงานบนเว็บ 4 รายการ หลังจากตรวจสอบเงื่อนไขในสคริปต์ด้านบนแล้ว :if($status -ne 'Running') ..เป็นการตรวจสอบเฉพาะสถานะ webjob แรกและไม่ตรวจสอบสถานะ webjobs อีก 3 รายการและเข้าสู่ลูปเนื่องจากสมมติว่า webjobs ทั้งหมดกำลังทำงานอยู่ แต่มี webjob เพียงอันเดียวที่ทำงานอยู่ วิธีทำให้งานนี้สำเร็จ โปรดแชร์ แก้ไขสคริปต์และแชร์ ให้ฉันหรือบอกขั้นตอนที่ฉันจะดำเนินการและเพิ่มงาน - person PDBR PRAVEEN; 20.11.2017
comment
@PDBRPRAVEEN ขออภัย ฉันก็ไม่รู้เหมือนกัน บางทีคุณอาจถามคำถามใหม่เกี่ยวกับความต้องการของคุณ จะช่วยให้คุณแก้ไขปัญหานี้ได้เร็วขึ้น :--) - person Shui shengbao; 20.11.2017
comment
ขอบคุณวอลเตอร์ ขอฉันตรวจสอบกับใครสักคนหน่อย - person PDBR PRAVEEN; 20.11.2017