2016-03-18 11 views
8

Trong các documentation nó nói rằng tắt kịch bản chỉ chạy trên một cơ sở nỗ lực tốt nhất và rằng họ không được bảo đảm để chạy. Tôi tự hỏi điều kiện nào sẽ là nơi họ sẽ không chạy?Tại sao các tập lệnh tắt máy không được đảm bảo?

Sửa

Như AndyJ chỉ ra, các tài liệu hướng dẫn tôi liên kết với mô tả khi kịch bản là phải được chạy. Để làm rõ, tôi đã đọc tất cả những điều đó nhưng dường như với tôi rằng việc thiếu bảo đảm để chạy bao gồm các điều kiện mà thông thường nó được cho là.

Vì vậy, để cụm từ tốt hơn câu hỏi của tôi, là kịch bản được bảo đảm để chạy trong điều kiện tài liệu nói nó chạy nó, hoặc là chỉ khi nó nên và không nhất thiết khi nó sẽ?

+1

Tập lệnh tắt máy tạo ra ngoại lệ, treo trong vòng lặp vô hạn hoặc chạy quá lâu đến mức tài nguyên đã biến mất. –

+0

Thật kỳ lạ, 5 người đã bỏ phiếu cho câu hỏi của bạn và chưa ai trong số họ đọc tài liệu bạn đã liên kết.Bạn đã từng nghĩ những cá nhân quan tâm đến câu trả lời sẽ đặt một số nỗ lực cơ bản vào! – AndyJ

Trả lời

1

Họ giải quyết vấn đề này trong số documentation mà bạn đã liên kết.

Shutdown kịch bản gọi

script Shutdown thực hiện khi một thể hiện được lên kế hoạch để khởi động lại hoặc chấm dứt. Có nhiều cách để khởi động lại hoặc chấm dứt một cá thể nhưng chỉ một số hành động sẽ kích hoạt tập lệnh tắt máy chạy. Tập lệnh tắt sẽ chạy khi:

Ví dụ bị xóa bằng cách sử dụng các thể hiện(). yêu cầu. Điều này bao gồm bất kỳ công cụ hoặc tập lệnh nào sử dụng API, chẳng hạn như Bảng điều khiển nền tảng đám mây của Google và tính toán gcloud. Một cá thể được tắt thông qua bàn điều khiển hoặc phương thức instances.stop(). Một cá thể được khởi động lại hoặc tắt thông qua yêu cầu đối với hệ điều hành khách, chẳng hạn như tắt sudo hoặc khởi động lại sudo.

Lưu ý: Nếu kịch bản tắt máy của bạn yêu cầu kết nối mạng, chúng tôi khuyên bạn nên tắt cá thể của bạn bằng phương pháp này do sự cố đã biết với mất kết nối mạng. Vấn đề này chủ yếu ảnh hưởng đến các trường hợp đã bị đóng bên ngoài hệ điều hành khách. Kịch bản tắt máy sẽ không chạy nếu cá thể được đặt lại bằng cách sử dụng instance().

Shutdown kịch bản thời gian

Khi một kịch bản shutdown được gọi chạy, nó có một khoảng thời gian hạn chế để chạy, giữa khi yêu cầu được thực hiện để tắt hoặc khởi động lại dụ, để khi dụ được thực sự chấm dứt. Trong thời gian này, Compute Engine sẽ cố gắng chạy kịch bản tắt máy của bạn nhưng nếu tập lệnh mất nhiều thời gian hơn khoảng thời gian này để hoàn thành, cá thể sẽ tự động chấm dứt và tất cả các tác vụ đang chạy đều bị giết. Nếu bạn tắt hoặc khởi động lại một cá thể bằng cách yêu cầu hệ điều hành khách (ví dụ: chạy sudo shutdown) thì giới hạn này không áp dụng.

Nói chung, chúng tôi khuyên bạn nên tắt kịch bản tắt máy trong khoảng thời gian này để hệ điều hành có thời gian hoàn thành việc tắt máy, bao gồm cả bộ đệm đệm vào đĩa.

Để biết thêm thông tin về giới hạn thời gian này, hãy xem Thời gian tắt máy.

+0

Tôi đã đọc và hiểu phần bạn đã trích dẫn. Vui lòng xem câu hỏi được cập nhật của tôi. – nathanjosiah

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