มีตัวเลือกสองสามอย่างที่นี่ในบริการแอพ ฉันจะไม่แตะบนแอพลอจิกหรือ Azure Automation ซึ่งสัมผัสกับพื้นที่นี้
AzJu WebJobs
บทความนี้เป็นคำอธิบายที่ดีที่สุดโดยสุจริต แต่ฉันจะสรุปที่นี่
WebJobs ตามต้องการ WebJobs ตามกำหนดเวลา ทริกเกอร์ WebJobs
WebJobs เรียกเป็น WebJobs ซึ่งจะถูกเรียกใช้ครั้งเดียวเมื่อ URL ที่เรียกว่าหรือเมื่อคุณสมบัติกำหนดการอยู่ใน schedule.job WebJobs ตามกำหนดเวลาเป็นเพียง WebJobs ซึ่งมีงาน Azure Scheduler ที่สร้างขึ้นเพื่อเรียก URL ของเราตามกำหนดเวลา แต่เรายังสนับสนุนคุณสมบัติกำหนดการตามที่กล่าวไว้ก่อนหน้านี้
สรุป:
+
ปฏิบัติการ / สคริปต์ตามต้องการ
+
กำหนดการประหารชีวิต
-
ต้องเรียกใช้ผ่าน. scm endpoint
-
การปรับสเกลเป็นคู่มือ
-
จำเป็นต้องใช้ VM เสมอ
WebJobs ต่อเนื่อง (ไม่ใช่ SDK)
งานเหล่านี้ทำงานตลอดไปและเราจะปลุกพวกเขาเมื่อพวกเขาล้มเหลว คุณต้องเปิดใช้งาน Always On เพื่อให้ทำงานได้ซึ่งหมายถึงการเปิดใช้งานในระดับขั้นพื้นฐานและสูงกว่า
สรุป:
+
ปฏิบัติการ / สคริปต์ทำงานอยู่เสมอ
-
ต้องใช้ตลอดเวลา - ระดับพื้นฐานและสูงกว่า
-
จำเป็นต้องใช้ VM เสมอ
WebJobs อย่างต่อเนื่องกับ WebJobs SDK
สิ่งเหล่านี้ไม่ได้มาจากมุมมอง "WebJobs the feature" โดยพื้นฐานแล้วเรามี SDK ที่แสนหวานนี้ที่เราเขียนไปที่การกำหนดเป้าหมาย WebJobs ซึ่งจะช่วยให้คุณสามารถรันโค้ดโดยใช้ทริกเกอร์อย่างง่าย ฉันจะพูดเกี่ยวกับเรื่องนี้ในภายหลัง
สรุป:
+
ปฏิบัติการ / สคริปต์ทำงานอยู่เสมอ
+
การเข้าสู่ระบบ / แดชบอร์ดยิ่งขึ้น
+
รองรับทริกเกอร์พร้อมกับงานที่ต้องใช้เวลานาน
-
ต้องใช้ตลอดเวลา - ระดับพื้นฐานและสูงกว่า
-
สเกลเป็นคู่มือในการตั้งค่า
-
เริ่มต้นใช้งานได้น่าเบื่อเล็กน้อย
-
จำเป็นต้องใช้ VM เสมอ
Azure WebJobs SDK
Azure WebJobs SDK เป็น SDK แยกต่างหากอย่างสมบูรณ์จาก WebJobs คุณสมบัติแพลตฟอร์ม มันถูกออกแบบมาให้ทำงานใน WebJob แต่สามารถทำงานได้ทุกที่ เรามีลูกค้าที่ทำงานในบทบาทของผู้ปฏิบัติงานและแม้กระทั่งบนพื้นฐานหรือคลาวด์อื่น ๆ แม้ว่าการสนับสนุนจะเป็นความพยายามที่ดีที่สุดเท่านั้น
SDK เป็นเพียงการทำให้มันง่ายต่อการเรียกใช้โค้ดบางอย่างเพื่อตอบสนองต่อเหตุการณ์บางอย่างและทำให้ผูกพันกับบริการ / ฯลฯ ง่าย. สิ่งนี้ได้รับการกล่าวถึงอย่างดีที่สุดในเอกสารบางประเภทแต่หัวใจของมันคือธรรมชาติ "เหตุการณ์" + "รหัส" นอกจากนี้เรายังได้ทำงาน extensiblity เจ๋ง ๆ แต่นั่นก็รองจากวัตถุประสงค์หลัก
สรุป:
- สิ่งเหล่านี้ส่วนใหญ่ถูกกล่าวถึงข้างต้น
+
คุณสามารถขยายและเรียกใช้สิ่งที่คุณต้องการ ควบคุมทั้งหมด.
-
สิ่ง HTTP เป็นสิ่งเล็ก ๆ น้อย ๆ แต่มันใช้งานได้
ฟังก์ชันสีฟ้า
ฟังก์ชั่น Azure คือทั้งหมดที่เกี่ยวกับการใช้จุดประสงค์หลักของ WebJobs SDK ให้บริการโฮสต์และทำให้ง่ายต่อการเริ่มต้นใช้งานกับภาษาอื่น นอกจากนี้เรายังแนะนำแนวคิด "Serverless" ที่นี่เพราะมันสมเหตุสมผลอย่างมากที่จะทำเช่นนั้น - เรารู้ว่า SDK ของเราปรับขนาดได้อย่างไรเพื่อให้เราสามารถทำสิ่งที่ชาญฉลาดสำหรับคุณ
ฟังก์ชั่นสีฟ้าเป็นประสบการณ์ที่มีการจัดการอย่างมาก เราไม่สนับสนุนการนำโฮสต์ของคุณเอง ปัจจุบันเราไม่สนับสนุนส่วนขยายที่กำหนดเอง แต่เป็นสิ่งที่เรากำลังตรวจสอบ เราให้ความเห็นเกี่ยวกับสิ่งที่คุณทำได้และไม่สามารถทำได้ แต่สำหรับสิ่งที่เราเปิดใช้งานสิ่งเหล่านี้มันลื่นและใช้งานและจัดการได้ง่าย
สิ่งที่ "กรอบงาน" ส่วนใหญ่ที่เราทำเพื่อปรับปรุงฟังก์ชั่นนั้นผ่าน WebJobs SDK ตัวอย่างเช่นเราจะอัปโหลด NuGet ใหม่สำหรับ WebJobs ซึ่งเพิ่มความเร็วในการบันทึกอย่างมากซึ่งมีประโยชน์อย่างมากสำหรับผู้ใช้ WebJobs SDK ในฟังก์ชั่นการจัดส่งในฐานะ "WebJobs SDK เป็นบริการ" เราได้ปรับปรุงประสบการณ์การใช้งานมากมาย
ฉันอาจเอนเอียงเพราะฟังก์ชั่นเป็นรุ่นล่าสุดและยอดเยี่ยมที่สุดของเรา แต่อย่าลังเลที่จะถ่ายภาพข้อเสียเพิ่มเติมสำหรับฟังก์ชั่นของฉัน
ฉันอาจจะลงเอยด้วยการเผยแพร่บล็อกที่มีเนื้อหาเพิ่มเติมอีกเล็กน้อย แต่ฉันพยายามทำให้เรื่องนี้สั้นที่สุดเท่าที่จะเป็นไปได้สำหรับฟอรัมนี้