Sửa Lỗi
Có quyền truy cập vào các ứng dụng tùy chỉnh nghĩa là bạn có khả năng triển khai bất cứ điều gì bạn muốn. Điều này cũng có nghĩa là bạn có thể dễ dàng làm hỏng bench của mình nếu có sự cố xảy ra. Nhưng với quyền truy cập ssh , bạn cũng có thể thực hiện một số mức độ gỡ lỗi để tìm ra nguyên nhân của sự cố.
Lưu ý : Vui lòng CHỈ sử dụng SSH cho mục đích gỡ lỗi. Thiết lập bench trên MBW Cloud khác với thiết lập sản xuất thông thường mà bạn sẽ thấy trong các phiên bản tự lưu trữ. Do đó, về cơ bản, bạn có thể gây ra lỗi cho Bench của mình bằng cách chạy các lệnh bench để thay đổi cấu hình. Ví dụ:
bench setup supervisor.
Đọc nhật ký
Sau khi ssh-ing vào bench, bạn sẽ thấy một số tệp nhất định trong thư mụclogs
web.log
Vàweb.err.log
. Chúng tương ứng với các luồng STDOUT và STDERR của quy trình web. Chúng xử lý các yêu cầu web riêng lẻ tới trang web của bạn.worker.log
Vàworker.err.log
. Chúng tương ứng với các luồng STDOUT và STDERR của các phương thức chạy nền. Chúng chạy các công việc nền.
Những tệp này thường là khu vực được quan tâm khi bạn gỡ lỗi. Nhưng tương tự, tất cả các tệp trong thư mụclogs
đều tương ứng với các quy trình được liệt kê khi bạn thực hiện lệnhsupervisorctl status
trên Bench của mình. Các vấn đề khác nhau sẽ cần bạn phải xem xét các nhật ký khác nhau trên Bench của mình.
Đọc nhật ký bằng lệnhless
. Để bắt đầu đọc từ dưới lên, hãy sử dụng less +G
. Các tổ hợp phím Vim hoạt động trong less
. Nhấn q
để thoát.
tail
cũng là một lệnh hữu ích tương tự. tail -f
cho phép bạn đọc đầu ra khi nó được ghi vào tập tin.
Bench
Bạn có thể sử dụng các lệnh bench để gỡ lỗi. bench doctor
là lệnh hiển thị cho bạn trạng thái của các công việc nền trên máy. Khi bạn thực hiện thay đổi mã đối với các tệp sau khi ssh, bạn cần chạy lệnh bench restart
để các thay đổi có hiệu lực.
Truy vấn cơ sở dữ liệu
Bạn có thể truy cập bảng điều khiển SQL bằng lệnhbench mariadb
. Bảng điều khiển này rất hữu ích để xem trạng thái hiện tại của cơ sở dữ liệu. Ví dụ: Bạn có thể thấy các truy vấn đang chạy bằng lệnhSHOW PROCESSLIST
.
Supervisor
Supervisor là trình quản lý quy trình trong bench của bạn. Trong một bench hoạt động chính xác, tất cả các quy trình phải ởRUNNING
trạng thái khi bạn chạy supervisorctl status
. Bạn cũng có thể sử dụng lệnhsupervisorctl
để bắt đầu và dừng các tiến trình được liệt kê. bench restart
được sử dụng tương tự.