tose down
Dừng dự án: đưa ứng dụng về 0 replica và hủy các bản build chưa tới bước deploy.
Tóm tắt
tose down [project] [-y]Mô tả
Nếu dự án có triển khai running, tose down dừng triển khai đó, kể cả khi có một bản build mới hơn đang chạy. Việc này đưa ứng dụng về 0 replica và hủy các bản build của dự án chưa tới bước deploy (pending, cloning, building, pushing). Khi không có gì đang chạy, lệnh chỉ hủy bản build mới nhất.
Sau khi dừng, CLI đọc lại triển khai và danh sách triển khai của dự án rồi báo trạng thái cuối cùng. CLI không bao giờ in stopped cho một lần dừng không có hiệu lực. Xem Điều gì xảy ra khi dừng và Mã thoát.
Tham số
| Tham số | Mô tả |
|---|---|
[project] | Tùy chọn. Slug dự án hoặc workspace/project |
Tùy chọn
| Tùy chọn | Alias | Mô tả |
|---|---|---|
--yes | -y | Bỏ qua câu hỏi xác nhận. Bắt buộc khi không có terminal hoặc khi dùng --json |
Sử dụng
Dừng có xác nhận:
$ tose down
Stop deployment for my-workspace/my-app? No
? Confirm: Yes
✓ Project stopped
Deployment dep_abc123 is now stopped.
Builds of this project that had not reached deploy were cancelled too.Dừng một dự án cụ thể, bỏ qua xác nhận:
tose down my-workspace/my-app -yDự án đang bận (CLI tự thử lại):
$ tose down -y
⠹ Project is busy; retrying the stop in 12s (attempt 1/4)...
✓ Project stoppedKết quả JSON
tose down -y --json{
"success": true,
"data": {
"id": "dep_abc123",
"status": "stopped"
}
}Điều gì xảy ra khi dừng
- Ứng dụng nhận tín hiệu tắt graceful
- Các kết nối đang hoạt động được chờ hoàn tất
- Container bị chấm dứt
- Trạng thái triển khai chuyển thành
stopped
Dừng một triển khai running sẽ dừng toàn bộ dự án. Trong một lần ghi có khoá, mọi triển khai của dự án đang running hoặc deploying, và mọi triển khai còn ở trước bước deploy (pending, cloning, building, pushing), được đánh dấu stopped. Dự án giữ ở 0 replica cho đến khi bạn deploy lại.
- Chỉ các triển khai được tạo trước khi Stop bắt đầu bị ảnh hưởng. Deploy được yêu cầu sau đó vẫn build và phát hành bình thường.
- Bản build bị dừng không có deploy, không gửi email và không có sự kiện thành công hay thất bại.
- Dừng một triển khai
deployinghoàn tất bất đồng bộ. Builder khôi phục phiên bản phục vụ gần nhất nếu có, nếu không thì scale workload về 0. Triển khai có thể kết thúc ởrunningkèm lý do trongerror_messagenếu image của nó vẫn đang phục vụ. - Nếu không lấy được khoá workload của dự án trong 60 giây, API trả về
503 Service Unavailablekèm headerRetry-Aftervà chưa có gì bị dừng. Xem Thử lại và timeout. - Redeploy sau đó không bao giờ chọn image của rollout đã bị huỷ.
Xem Dừng triển khai trong tài liệu API.
Thử lại và timeout
- 503 kèm
Retry-After: chưa có gì bị dừng. CLI chờ đúng thời gianRetry-After(tối đa 60 giây, hoặc 5 giây nếu không có header) rồi gửi lại yêu cầu Stop, tối đa 4 lần thử. - Vẫn bận sau 4 lần: lệnh thất bại với
OPERATION_FAILED(mã thoát8,retryable: true). Thông báo nói rõ việc dừng chưa xảy ra; hãy chạy lạitose downsau một phút. - Timeout: CLI chờ yêu cầu Stop tối đa khoảng 100 giây. Hết thời gian đó, lệnh thất bại với
TIMEOUT(mã thoát7,retryable: true) và kết quả được đánh dấu chưa rõ (details.stop_outcome: "unknown"). Máy chủ vẫn có thể đã dừng xong, nên hãy chạytose statustrước khi thử lại.
Trạng thái cuối cùng
Sau khi yêu cầu Stop được chấp nhận, CLI đọc lại triển khai (chờ tối đa khoảng 30 giây nếu nó còn deploying) rồi đọc danh sách triển khai của dự án:
- Triển khai là
stoppedvà không còn triển khai nào của dự án ởrunning: thành công, mã thoát0. - Triển khai, hoặc một triển khai khác của dự án, kết thúc ở
runningtrở lại (ví dụ image của chính rollout đó vẫn đang phục vụ): lệnh thất bại vớiOPERATION_FAILED(mã thoát8) kèmerror_messagecủa triển khai. Lệnh không khẳng địnhstopped. - Triển khai vẫn
deployingsau thời gian chờ: lệnh thất bại vớiTIMEOUT(mã thoát7). Chạytose statusđể xem trạng thái cuối.
Mã thoát
| Mã | Tên | Khi nào |
|---|---|---|
0 | SUCCESS | Dự án đã dừng, hoặc bản build duy nhất đã bị hủy |
4 | CONFIRMATION_REQUIRED | Không có terminal, hoặc dùng --json, mà thiếu --yes. Không gửi gì |
5 | CANCELLED | Bạn từ chối câu hỏi xác nhận |
6 | NOT_FOUND | Dự án chưa có triển khai nào |
7 | TIMEOUT | Yêu cầu Stop hết thời gian (chưa rõ kết quả), hoặc triển khai vẫn deploying sau khi dừng |
8 | OPERATION_FAILED | Dự án vẫn bận sau 4 lần thử, hoặc việc dừng kết thúc với một triển khai running trở lại |
Triển khai mới nhất đã ở stopped, failed hoặc trạng thái kết thúc khác không phải lỗi: CLI cảnh báo và thoát với mã 0 mà không gửi yêu cầu. Danh sách đầy đủ xem Mã thoát.
tose deployment cancel <id> dùng cùng cơ chế thử lại và kiểm tra trạng thái cuối. Xem tose deployment cancel.
Lệnh liên quan
tose status- Kiểm tra triển khai đã dừng chưatose deployment cancel- Hủy một bản build theo IDtose up- Triển khai lại sau khi dừngtose logs- Xem logs trước khi dừng