2014-07-21 23 views
5

Tôi đang trong quá trình di chuyển một vài Công việc đã được lên lịch trước đó và chạy qua Quartz.Net đến Azure Webjobs.Đối số dòng lệnh cho Azure Webjobs

Sử dụng Quartz.Net cho phép tôi có tất cả các lớp công việc (rất nhỏ gọn) trong cùng một dự án khi điểm nhập chương trình bàn điều khiển khởi tạo trình lên lịch.

Bây giờ tôi muốn giữ lại cấu trúc đó mà không cần phải tạo một dự án ứng dụng giao diện điều khiển rời rạc cho mỗi và mọi công việc web.

Hiện tại có cách nào để định cấu hình đối số dòng lệnh cho công việc web liên tục cho phép phân nhánh nội bộ cho đúng công việc tùy thuộc vào đối số dòng lệnh không?

Trả lời

9

Trong Azure WebJobs, một cách để thực hiện việc này là tạo tệp tập lệnh cho mỗi WebJob với đối số dòng lệnh: MyApplication.exe arg1 arg2.

Một cách khác là chọn phương thức để chạy theo tên WebJob hiện tại mà bạn có thể lấy từ biến môi trường WEBJOBS_NAME.

Đối với WebJob được kích hoạt, có hỗ trợ đối số dòng lệnh (mỗi lần chạy) trong API nhưng vẫn không được hỗ trợ bởi cổng Azure: https://github.com/projectkudu/kudu/wiki/WebJobs-API#invoke-a-triggered-job.

+0

Tôi đã thử nghiệm với các tập lệnh ps dưới dạng trung gian nhưng WEBJOBS_NAME có âm thanh tốt. –

+0

Bạn có thể giải thích thêm một chút về tùy chọn đầu tiên bạn đã đề cập - tạo một tập lệnh với các tham số không? Làm thế nào để nói với công việc web để chạy một kịch bản thay vì thực hiện các ứng dụng giao diện điều khiển exe? Ngoài ra tôi không thể nhìn thấy bất kỳ biến env đề cập đến webjobs trong giao diện điều khiển kudu của tôi. – andy250

+1

@ andy250 tạo tệp run.cmd với tập lệnh của bạn, nó sẽ luôn là tập lệnh được chọn để chạy. bạn sẽ không thấy các biến env của webjob trên bàn điều khiển kudu vì nó không chạy như một webjob, bạn có thể tạo webjob với một tập lệnh in ra tất cả các biến env và sau đó xem nhật ký. –

Các vấn đề liên quan