Giả sử tôi bao gồm một hoạt động khá dài startup task vào vai trò Azure của tôi - chạy vài thứ như sau vài phút. Điều gì sẽ xảy ra nếu tác vụ khởi động chạy "quá dài".Có giới hạn khó về thời gian khởi động vai trò Azure có thể mất không?
Tôi hiện đang thử nghiệm trên Trình mô phỏng tính toán và quan sát những điều sau đây.
Tôi có một tệp .zip 450 megabyte cùng với Info-Zip unzip. Tác vụ khởi động giải nén kho lưu trữ. Triển khai bắt đầu và tôi nhìn vào Task Manager. Nhiều quá trình dịch vụ bắt đầu, sau đó unzip.exe được chạy. Sau khoảng hai phút tất cả các quy trình đó dừng lại và sau đó bắt đầu lại và unzip.exe bắt đầu lại.
Vì vậy, có vẻ như triển khai được phép chạy trong khoảng hai phút, sau đó được đặt lại mạnh và bắt đầu lại.
Đây có phải là hành vi mong đợi không? Nó có tồn tại trên đám mây thực không? Có bất kỳ giới hạn cứng nào về thời gian khởi động của vai trò không? Làm cách nào để giải quyết tình huống này ngoại trừ việc di chuyển giải nén vào RoleEntryPoint.OnStart()
?
Làm cách nào để gọi phương thức đó từ bên trong một tác vụ khởi động? – sharptooth
Tôi không nghĩ rằng phương pháp SetBusy áp dụng cho Công việc khởi động. Bạn sẽ sử dụng SetBusy với vai trò của bạn nếu mã RoleEntryPoint của bạn (ví dụ, phương thức Run) đã làm việc gì đó tốn thời gian và không muốn Bộ điều khiển Vải nghĩ rằng nó bị treo. Nếu bạn đang sử dụng taskType = "đơn giản" khởi động nhiệm vụ (loại chạy đến hoàn thành trước khi OnStart của bạn được gọi), sau đó cân bằng tải không gửi lưu lượng truy cập cho bạn nào. Và nếu bạn đang sử dụng một trong hai taskType khởi động khác (nền hoặc nền trước), thì chúng sẽ chạy độc lập với các phương thức OnStart và Run của bạn. – codingoutloud