0
0
Lập trình
Harry Tran
Harry Tran106580903228332612117

Desto: Bảng Điều Khiển Web Cho Các Quy Trình Chạy Lâu

Đăng vào 1 tháng trước

• 6 phút đọc

Desto: Bảng Điều Khiển Web Cho Các Quy Trình Chạy Lâu

Giới thiệu

TL;DR: Tôi đã xây dựng Desto để theo dõi các quy trình chạy lâu thông qua giao diện web. Nó cho phép bạn quản lý các phiên tmux, xem nhật ký, lập lịch công việc và nhận thông báo—tất cả từ trình duyệt của bạn, đồng thời vẫn giữ được sức mạnh của terminal mà bạn yêu thích.

Tại sao cần Desto?

Là lập trình viên, chúng ta thường có những quy trình cần chạy trong nhiều giờ hoặc thậm chí nhiều ngày—huấn luyện các mô hình ML, xử lý dữ liệu lớn, chạy các bộ kiểm tra phức tạp hoặc thực hiện bảo trì hệ thống. Mặc dù terminal hoàn toàn có khả năng xử lý những tác vụ này, nhưng tôi mong muốn một cách trực quan hơn để theo dõi nhiều công việc chạy lâu một cách đồng thời.

Đó là lý do tôi tạo ra Desto—một bảng điều khiển web giúp bạn có cái nhìn tổng quan về tất cả các quy trình nền của mình chỉ trong nháy mắt.

Vấn Đề Cần Giải Quyết

Tôi rất thích làm việc trong terminal, nhưng việc quản lý nhiều quy trình chạy lâu đã đặt ra một số thách thức:

  • Giám sát: Kiểm tra nhiều quy trình đồng nghĩa với việc chuyển đổi giữa các phiên tmux hoặc mở nhiều tab terminal.
  • Truy cập nhật ký: Xem nhanh nhật ký từ các công việc khác nhau yêu cầu nhớ tên phiên và điều hướng qua các thư mục.
  • Lập lịch: Thiết lập quy trình chạy vào thời điểm cụ thể thường đồng nghĩa với việc viết cron jobs hoặc sử dụng lệnh at.
  • Thông báo: Biết khi nào một công việc chạy lâu hoàn tất mà không cần kiểm tra liên tục.
  • Kiểm soát nhanh: Dừng hoặc khởi động lại các quy trình chỉ với vài cú nhấp chuột thay vì gõ lệnh.

Desto Làm Gì?

Desto chạy song song với quy trình làm việc của bạn trong terminal, cung cấp một bảng điều khiển web tại http://localhost:8809 nơi bạn có thể:

🔍 Giám Sát Các Quy Trình Chạy Lâu

Theo dõi nhiều công việc nền mà không cần chuyển đổi giữa các phiên terminal. Bảng điều khiển hiển thị tất cả các phiên tmux đang hoạt động và trạng thái của chúng chỉ trong nháy mắt.

📊 Theo Dõi Tài Nguyên Hệ Thống

Xem mức sử dụng CPU, bộ nhớ và đĩa theo thời gian thực—đặc biệt hữu ích khi chạy các quy trình ngốn tài nguyên như phân tích dữ liệu hoặc huấn luyện mô hình.

📝 Truy Cập Nhật Ký Dễ Dàng

Xem nhật ký từ bất kỳ phiên nào ngay lập tức. Không cần nhớ thư mục nào chứa nhật ký của bạn hoặc phiên tmux nào đang chạy cái gì.

⏰ Lập Lịch Đơn Giản

Lập lịch các script chạy vào thời điểm cụ thể thông qua giao diện web. Tuyệt vời cho sao lưu tự động, quy trình xử lý dữ liệu, hoặc bất kỳ tác vụ định kỳ nào.

🎯 Kiểm Soát Quy Trình Nhanh

Khởi động, dừng hoặc khởi động lại quy trình chỉ với vài cú nhấp chuột. Terminal vẫn ở đó khi bạn cần, nhưng đôi khi bạn chỉ muốn sự tiện lợi của một nút bấm.

⛓️ Xâu Chuỗi Quy Trình

Xếp hàng nhiều script để chạy tuần tự—hữu ích cho các quy trình phức tạp mà một quy trình phụ thuộc vào quy trình khác.

Tính Năng Chính

Quản Lý Script

  • Hỗ trợ kép: Chạy cả script bash (.sh) và Python (.py).
  • Phát hiện tự động: Hệ thống nhận dạng loại script của bạn và xử lý việc thực thi một cách phù hợp.
  • Trình soạn thảo tích hợp: Viết hoặc chỉnh sửa script trực tiếp trong trình duyệt khi cần thiết.
  • Lưu trữ bền vững: Các script và nhật ký được tổ chức trong các thư mục riêng biệt.

Kiểm Soát Phiên

  • Tùy chọn giữ sống: Bật để giữ các phiên tmux mở sau khi script hoàn tất.
  • Giám sát trực tiếp: Theo dõi đầu ra của script theo thời gian thực.
  • Đặt tên phiên: Tổ chức các quy trình của bạn với những cái tên có ý nghĩa.

CLI Hiện Đại

Đối với những người yêu thích terminal, Desto bao gồm một CLI toàn diện mà phản ánh tất cả các chức năng của web:

Copy
# Kiểm tra trạng thái hệ thống
desto-cli doctor

# Quản lý phiên
desto-cli sessions list
desto-cli sessions start "data-processing" "python analyze_data.py"
desto-cli sessions logs "data-processing"

# Quản lý script
desto-cli scripts list
desto-cli scripts run "backup_script"

Bắt Đầu

Bắt Đầu Nhanh Với Docker

Copy
git clone https://github.com/kalfasyan/desto.git && cd desto
docker compose up -d

Truy cập http://localhost:8809 và bạn đã sẵn sàng để bắt đầu.

Cài Đặt Với Python

Copy
#### Với uv (được khuyến nghị)
uv add desto

#### Hoặc với pip
pip install desto

#### Chạy bảng điều khiển
desto

Điều Kiện Cần Thiết

Bạn sẽ cần tmux để quản lý phiên và tùy chọn at để lập lịch:

Copy
# Debian/Ubuntu
sudo apt install tmux at

# Fedora/RHEL
sudo dnf install tmux at

# Arch Linux
sudo pacman -S tmux at

Các Trường Hợp Sử Dụng Thực Tế

  • Xử lý dữ liệu chạy lâu: Theo dõi các pipeline ETL, biến đổi dữ liệu lớn hoặc các công việc xử lý hàng loạt chạy trong nhiều giờ.
  • Quy trình máy học: Theo dõi huấn luyện mô hình, tinh chỉnh siêu tham số, hoặc các tác vụ tiền xử lý dữ liệu cần chạy qua đêm.
  • Tự động hóa phát triển: Quản lý quy trình xây dựng, bộ kiểm tra hoặc script triển khai mất nhiều thời gian để hoàn thành.
  • Bảo trì hệ thống: Lập lịch và theo dõi các quy trình sao lưu, xoay vòng nhật ký, cập nhật hệ thống hoặc các tác vụ dọn dẹp.
  • Tính toán nghiên cứu: Theo dõi các mô phỏng, script phân tích hoặc thí nghiệm tính toán chạy trong thời gian dài.

Cách Hoạt Động

Khi bạn khởi động Desto, nó tạo ra các thư mục desto_scripts/desto_logs/ trong vị trí hiện tại của bạn (có thể tùy chỉnh qua cài đặt hoặc biến môi trường). Các script hiện có của bạn được nhận diện tự động, và bạn có thể tạo mới thông qua giao diện hoặc tiếp tục sử dụng trình soạn thảo ưa thích của mình.

Bảng điều khiển kết nối với các phiên tmux của bạn, cung cấp một cái nhìn thống nhất trong khi vẫn giữ tất cả các chức năng của terminal mà bạn đã quen thuộc. Nó được thiết kế để nâng cao quy trình làm việc hiện tại của bạn, chứ không phải thay thế nó.

Tại Sao Tôi Xây Dựng Điều Này

Tôi làm việc với các quy trình thường chạy trong nhiều giờ hoặc nhiều ngày—phân tích dữ liệu, huấn luyện mô hình, xử lý tệp lớn. Mặc dù tôi yêu thích terminal và tmux rất mạnh mẽ, tôi muốn một cái gì đó có thể cung cấp cho tôi cái nhìn tổng quan về tất cả các quy trình nền của mình mà không đánh mất tính linh hoạt và kiểm soát mà các công cụ dòng lệnh cung cấp.

Desto cầu nối khoảng cách đó. Terminal vẫn ở đó khi bạn cần kiểm soát chi tiết, nhưng giờ đây bạn cũng có một bảng điều khiển trực quan cho những lúc bạn muốn kiểm tra nhanh nhiều công việc, xem nhật ký hoặc lập lịch tác vụ mới.

Thử Ngay

Nếu bạn thường xuyên làm việc với các quy trình chạy lâu hoặc thấy mình phải quản lý nhiều tác vụ nền, Desto có thể phù hợp với quy trình làm việc của bạn. Cài đặt Docker chỉ mất chưa đầy một phút, và bạn có thể tiếp tục sử dụng terminal như bình thường.

Hãy xem nó trên GitHub và cho tôi biết nếu bạn thấy nó hữu ích cho các dự án của bạn.


Bạn hiện đang quản lý các quy trình nền chạy lâu như thế nào? Tôi rất muốn nghe về quy trình làm việc của bạn và bất kỳ công cụ tương tự nào bạn thấy hữu ích.

Tags: #tmux #python #bash #năng suất #giám sát #công việc nền #webdev

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào