Kiểm tra sức khỏe trăn

Việc tạo API mới đã được nhắc đến ở bài viết trước   Thêm mới và bảo mật API. Sau khi tạo mới, các API có thế được theo dõi, quản lý qua Konga. Bài viết này giới thiệu một số tính năng thông qua Konga

Kiểm tra sức khỏe

Khi nhấp vào một API đã tạo trước đó, sẽ xuất hiện tab Kiểm tra sức khỏe

Cần định nghĩa một Điểm cuối HC và kích hoạt nút Kiểm tra sức khỏe sang Đã bật

Có thể thêm thông báo tham số hoặc đặt thông báo qua email

Sau đó, trạng thái đối tượng sẽ thông báo trạng thái kiểm tra sức khỏe hiện tại

 

Giới hạn tỷ lệ

Giới hạn số lượng yêu cầu HTTP lập trình viên có thể thực hiện trong một khoảng thời gian nhất định, giây, phút, ngày, tháng hoặc năm. Nếu API không có lớp xác thực, địa chỉ IP của ứng dụng khách sẽ được sử dụng, nếu không thì Người tiêu dùng sẽ được sử dụng nếu một plugin xác thực đã được cấu hình

Với nhiệm vụ lặp đi lặp lại đã hoàn thiện cho tự động hóa. Thông thường các nhà phát triển và quản trị viên hệ thống sẽ tự động hóa các nhiệm vụ thông thường như kiểm tra sức khỏe và sao lưu tệp bằng shell tập lệnh. Tuy nhiên, khi các nhiệm vụ đó trở nên phức tạp hơn, các shell script có thể trở nên khó bảo trì hơn

May mắn thay, chúng ta có thể sử dụng Python thay shell script để tự động hóa. Python cung cấp các phương thức để chạy các lệnh shell, cung cấp cho chúng ta chức năng tương tự của các lệnh shell đó. Học cách chạy shell lệnh trong Python mở cơ hội để chúng ta tự động hóa các tác vụ máy tính theo cách có cấu trúc và có thể mở rộng

1. Use os. system to run command

Python cho phép chúng ta thực thi ngay một shell lệnh được lưu trữ trong một chuỗi bằng hàm os. hệ thống []. Hãy bắt đầu bằng cách tạo một tệp python mới có tên echo_adelle. py

import os

os.system["echo Hello from the other side!"]

Trong Terminal của bạn, hãy chạy tệp này bằng cách sử dụng lệnh sau và bạn sẽ thấy đầu ra tương ứng

$ python3 echo_adelle.py
Hello from the other side!

Khi lệnh lặp lại trong ra, os. system [] cũng hiển thị đầu ra trên luồng. Mặc dù không hiển thị trong bảng điều khiển, command os. system[] return shell shell. Mã thoát 0 có nghĩa là nó chạy mà không có bất kỳ vấn đề nào và bất kỳ số nào khác có nghĩa là lỗi. To known more than exit code, create file cd_return_codes. py with content

home_dir = os.system["cd ~"]
print["`cd ~` ran with exit code %d" % home_dir]
unknown_dir = os.system["cd doesnotexist"]
print["`cd doesnotexis` ran with exit code %d" % unknown_dir]

chúng ta tạo hai biến lưu trữ kết quả của việc thực thi lệnh thay đổi thư mục thành thư mục chính và thư mục không tồn tại. Run this file, we will see

$ python3 cd_return_codes.py
`cd ~` ran with exit code 0
sh: line 0: cd: doesnotexist: No such file or directory
`cd doesnotexist` ran with exit code 256

Với câu lệnh đầu tiên, thay đổi thư mục thành thư mục nhà. hệ điều hành. system[] return code 0 , with where archive is home_dir. Mặt khác, unknow_dir sẽ trả về mã bị lỗi, với lệnh thay đổi đến thư mục không tồn tại. ô. system[] thực thi 1 câu lệnh , in và cho kết quả đầu ra tại bảng điều khiển, đồng thời trả về mã của câu lệnh đó

2. Use sub process

Module sub process thực sự được giới thiệu để thực thi shell command. Nó cho phép chúng ta linh hoạt để rút ngắn đầu ra của lệnh shell hoặc chuỗi đầu vào và đầu ra của các lệnh khác nhau giống nhau, trong khi vẫn cung cấp trải nghiệm tương tự như os. system [] cho các trường hợp sử dụng cơ bản. Tạo tệp list_sub process. py with content

import subprocess

list_files = subprocess.run[["ls", "-l"]]
print["The exit code was: %d" % list_files.returncode]

No same os. hệ thống [], quy trình con mô-đun. run[] yêu cầu 1 chuỗi lệnh đầu vào danh sách thay vì 1 chuỗi chuỗi duy nhất , phần từ đầu tiên của danh sách chính là tên lệnh thực thi của bạn , phần còn lại là biến số mà lệnh muốn thực hiện

Ví dụ. muốn thực hiện lệnh ls -alh sẽ có danh sách ["ls", "-alh"] với tên uph là ls với các tham số -a -l -h, Tương tự , lệnh echo hello world sẽ thành ["echo",

$ python3 list_subprocess.py
total 80
-rw-r--r--@ 1 stackabuse  staff    216 Dec  6 10:29 cd_return_codes.py
-rw-r--r--@ 1 stackabuse  staff     56 Dec  6 10:11 echo_adelle.py
-rw-r--r--@ 1 stackabuse  staff    116 Dec  6 11:20 list_subprocess.py
The exit code was: 0

bây giờ muốn sửa lại lệnh ls with the head edit back

list_files = subprocess.run[["ls", "-l"], stdout=subprocess.DEVNULL]

Tiêu chuẩn đầu ra của lệnh bây giờ được chuyển sang /dev/null, có nghĩa là đầu ra sẽ không xuất hiện trên bảng điều khiển nữa. Thực hiện tệp trong trình bao của bạn để xem đầu ra sau

$ python3 list_subprocess.py
The exit code was: 0

Thêm điều kiện cho điều này bằng tham số đầu vào của nó, với tệp cat_sub process. py,

________số 8_______
  • stdout=quy trình con. PIPE to Python only the start of the value is 1 object which can read after
  • text=True trả về thiết bị xuất chuẩn và thiết bị xuất chuẩn dưới dạng chuỗi, mặc định trả về byte
  • input="Xin chào từ phía bên kia" để thêm chuỗi Python vào

We old could raise Exception outside of the contract check Trả về giá trị, tạo file false_sub process. py

import subprocess

failed_command = subprocess.run[["false"], check=True]
print["The exit code was: %d" % failed_command.returncode]
$ python3 echo_adelle.py
Hello from the other side!
0

with check= Đúng, ngoại lệ xảy ra nếu có lỗi

3. Run command with Popen

quy trình con. Popen cung cấp nhiều lựa chọn hơn cho nhà phát triển khi muốn tương tác với shell. Tuy nhiên, chúng tôi cũng cần phải rõ ràng hơn về việc lấy kết quả và lỗi. Sub process default. Popen không tự động dừng quá trình xử lý của 1 chương trình python nếu lệnh không có kết thúc hàm, tạo 1 tệp mới list_popen. py

$ python3 echo_adelle.py
Hello from the other side!
1

Mã này tương đương với mã của tiến trình list_sub. py. Nó chạy một lệnh bằng cách sử dụng quy trình con. Popen và đợi nó hoàn thành trước khi thực thi phần còn lại của tập lệnh Python. Giả sử chúng ta không muốn đợi lệnh shell của mình hoàn thành việc thi để chương trình có thể hoạt động trên những thứ khác. Làm thế nào nó biết khi lệnh shell đã thực hiện xong? . Ví dụ. nếu chúng tôi muốn kiểm tra xem list_dir đã hoàn thành thay vì chờ đợi, chúng tôi sẽ có dòng mã sau

$ python3 echo_adelle.py
Hello from the other side!
2

To manage header ra , into of sub process. Popen, chúng ta cần sử dụng giao tiếp[]

$ python3 echo_adelle.py
Hello from the other side!
3

Phương thức giao tiếp[] lấy tham số đầu vào để sử dụng cho đầu ra của shell, nó đồng thời cũng có đầu ra và xuất hiện lỗi khi chúng ta báo cáo

Chủ Đề