zc.monitor

Phần mềm chụp màn hình:
zc.monitor
Các chi tiết về phần mềm:
Phiên bản: 0.3.1
Ngày tải lên: 14 Apr 15
Nhà phát triển: Jim Fulton
Giấy phép: Miễn phí
Phổ biến: 1

Rating: nan/5 (Total Votes: 0)

zc.monitor là một máy chủ cung cấp một giao diện dòng lệnh để yêu cầu các bit thông tin & nbsp;. Các máy chủ là zc.ngi dựa, vì vậy chúng tôi có thể sử dụng các cơ sở hạ tầng kiểm tra zc.ngi để chứng minh nó.
& Nbsp; >>> nhập zc.ngi.testing
& Nbsp; >>> nhập zc.monitor
& Nbsp; >>> kết nối = zc.ngi.testing.TextConnection ()
& Nbsp; >>> server = zc.monitor.Server (kết nối)
Các máy chủ hỗ trợ một tập hợp mở rộng các lệnh. Nó nhìn lên các lệnh như tên zc.monitor.interfaces.IMonitorPlugin "tiện ích", theo định nghĩa của gói zope.component.
Để thấy điều này, chúng ta sẽ tạo ra một plugin hello:
& Nbsp; >>> def hello (kết nối, name = 'thế giới'):
& Nbsp; ... "" "Say hello
& Nbsp; ...
& Nbsp; ... Cung cấp một tên nếu bạn không phải là thế giới.
& Nbsp; ... "" "
& Nbsp; ... connection.write ("Chào% s, tốt đẹp để đáp ứng ya n"% name)
và đăng ký nó:
& Nbsp; >>> zc.monitor.register (hello)
Khi chúng ta đăng ký một lệnh, chúng tôi có thể cung cấp một cái tên. Để thấy điều này, chúng tôi sẽ đăng ký chào một lần nữa:
& Nbsp; >>> zc.monitor.register (hello, 'hi')
Bây giờ chúng ta có thể đưa ra các lệnh chào các máy chủ:
& Nbsp; >>> connection.test_input ('hi n')
& Nbsp; Hi thế giới, rất vui được gặp anh!
& Nbsp; -> CLOSE
Chúng tôi có thể vượt qua một cái tên:
& Nbsp; >>> kết nối = zc.ngi.testing.TextConnection ()
& Nbsp; >>> server = zc.monitor.Server (kết nối)
& Nbsp; >>> connection.test_input ('hello Jim n')
& Nbsp; Hi Jim, rất vui được gặp anh!
& Nbsp; -> CLOSE
Các server đi kèm với một số lệnh cơ bản. Hãy đăng ký chúng để chúng tôi có thể nhìn thấy những gì họ làm. Chúng tôi sẽ sử dụng giao diện đăng ký simplfied:
& Nbsp; >>> zc.monitor.register_basics ()
Đầu tiên là các lệnh trợ giúp. Đưa ra giúp đỡ mà không cần đầu vào, đưa ra một danh sách các lệnh có sẵn:
& Nbsp; >>> kết nối = zc.ngi.testing.TextConnection ()
& Nbsp; >>> server = zc.monitor.Server (kết nối)
& Nbsp; >>> connection.test_input ('help n')
& Nbsp; hỗ trợ các lệnh:
& Nbsp; hello - Say chào
& Nbsp; giúp đỡ - Nhận trợ giúp về các lệnh máy chủ
& Nbsp; hi - Say chào
& Nbsp; tương tác - Bật chế độ tương tác màn hình của
& Nbsp; quit - Thoát khỏi màn hình
& Nbsp; -> CLOSE
Chúng tôi có thể nhận được trợ giúp chi tiết bằng cách chỉ định một tên lệnh:
& Nbsp; >>> kết nối = zc.ngi.testing.TextConnection ()
& Nbsp; >>> server = zc.monitor.Server (kết nối)
& Nbsp; >>> connection.test_input ('help help n')
& Nbsp; Trợ giúp để được giúp đỡ:
& Nbsp;
& Nbsp; Nhận trợ giúp về các lệnh máy chủ
& Nbsp;
& Nbsp; Theo mặc định, một danh sách các lệnh và tóm lược được in. Cung cấp
& Nbsp; một tên lệnh để có được tài liệu hướng dẫn chi tiết cho một lệnh.
& Nbsp;
& Nbsp; -> CLOSE
& Nbsp; >>> kết nối = zc.ngi.testing.TextConnection ()
& Nbsp; >>> server = zc.monitor.Server (kết nối)
& Nbsp; >>> connection.test_input ('giúp đỡ xin chào n')
& Nbsp; giúp cho hello:
& Nbsp;
& Nbsp; Say hello
& Nbsp;
& Nbsp; Cung cấp một tên nếu bạn không phải là thế giới.
& Nbsp;
& Nbsp; -> CLOSE
Các lệnh tương tác chuyển màn hình sang chế độ tương tác. Như đã thấy ở trên, màn hình thường đáp ứng với một câu lệnh đơn và sau đó đóng kết nối. Trong "chế độ tương tác", các kết nối không được đóng cửa cho đến lệnh quit được sử dụng. Điều này có thể hữu ích khi truy cập vào màn hình thông qua telnet cho chẩn đoán.
& Nbsp; >>> kết nối = zc.ngi.testing.TextConnection ()
& Nbsp; >>> server = zc.monitor.Server (kết nối)
& Nbsp; >>> connection.test_input ('tương tác n')
& Nbsp; chế độ tương tác trên. Sử dụng "bỏ" Để thoát.
& Nbsp; >>> connection.test_input ('giúp tương tác n')
& Nbsp; Trợ giúp cho các tương tác:
& Nbsp;
& Nbsp; Bật chế độ tương tác màn hình của
& Nbsp;
& Nbsp; Thông thường, màn hình phát hành các kết nối sau khi một lệnh duy nhất.
& Nbsp; Bằng cách nhập vào chế độ tương tác, màn hình sẽ không ngắt kết nối
& Nbsp; cho đến khi bạn nhập "bỏ" lệnh.
& Nbsp;
& Nbsp; Trong chế độ tương tác, một dòng sản phẩm nào lặp đi lặp lại câu lệnh cuối cùng.
& Nbsp;
& Nbsp; >>> connection.test_input ('giúp bỏ n')
& Nbsp; giúp cho bỏ thuốc lá:
& Nbsp;
& Nbsp; Thoát khỏi màn hình
& Nbsp;
& Nbsp; này chỉ thực sự hữu ích trong chế độ tương tác (hãy xem phần "tương tác"
& Nbsp; lệnh).
& Nbsp;
Chú ý rằng các kết quả của các lệnh không kết thúc bằng "-> CLOSE", mà có lẽ đã chỉ ra một kết nối khép kín.
Cũng lưu ý rằng chế độ tương tác cho phép bạn lặp lại lệnh.
& Nbsp; >>> connection.test_input ('hello n')
& Nbsp; Hi thế giới, rất vui được gặp anh!
& Nbsp; >>> connection.test_input (' n')
& Nbsp; Hi thế giới, rất vui được gặp anh!
& Nbsp; >>> connection.test_input ('hello Jim n')
& Nbsp; Hi Jim, rất vui được gặp anh!
& Nbsp; >>> connection.test_input (' n')
& Nbsp; Hi Jim, rất vui được gặp anh!
Bây giờ chúng ta sẽ sử dụng bỏ thuốc lá để đóng kết nối.
& Nbsp; >>> connection.test_input ('bỏ n')
& Nbsp; Goodbye.
& Nbsp; -> CLOSE
Cuối cùng, nó là đáng chú ý là trường hợp ngoại lệ sẽ tạo ra một traceback vào kết nối.
& Nbsp; >>> kết nối = zc.ngi.testing.TextConnection ()
& Nbsp; >>> server = zc.monitor.Server (kết nối)
& Nbsp; >>> connection.test_input ('hello Jim 42 n') # doctest: + lược từ
& Nbsp; Traceback (cuộc gọi gần đây nhất cuối cùng):
& Nbsp; ...
& Nbsp; Lỗi Loại: hello () mất ít nhất 2 đối số (3 đưa ra)
& Nbsp;
& Nbsp; -> CLOSE
Vòng lệnh
Sử dụng chế độ "MORE", lệnh này có thể báo hiệu rằng họ muốn xin tất cả đầu vào người dùng trong tương lai. Chúng tôi sẽ thực hiện một ví dụ ngớ ngẩn để chứng minh làm thế nào nó hoạt động.
Dưới đây là một lệnh mà thực hiện một máy tính.
& Nbsp; '.' >>> PROMPT =
& Nbsp; >>> def calc (kết nối, * args):
& Nbsp; ... nếu args và args [0] == 'thoát':
& Nbsp; ... trở zc.monitor.QUIT_MARKER
& Nbsp; ...
& Nbsp; ... nếu args:
& Nbsp; ... connection.write (. Str (eval ('' tham gia (args))))
& Nbsp; ... connection.write (' n')
& Nbsp; ...
& Nbsp; ... connection.write (PROMPT)
& Nbsp; ... trở zc.monitor.MORE_MARKER
Nếu chúng ta đăng ký lệnh này ...
& Nbsp; >>> zc.monitor.register (calc)
... Chúng ta có thể gọi nó và chúng tôi nhận được một nhắc nhở.
& Nbsp; >>> kết nối = zc.ngi.testing.TextConnection ()
& Nbsp; >>> server = zc.monitor.Server (kết nối)
& Nbsp; >>> connection.test_input ('calc n')
& Nbsp ;.
Nếu sau đó chúng tôi cung cấp cho nó nhiều đầu vào chúng tôi nhận được kết quả cộng với dấu nhắc khác.
& Nbsp; >>> connection.test_input ('2 + 2 n')
& Nbsp; 4
& Nbsp ;.
& Nbsp; >>> connection.test_input ('4 * 2 n')
& Nbsp; 8
& Nbsp ;.
Một khi chúng ta đang thực hiện, chúng tôi có thể nói với các máy tính để chúng ta đi.
& Nbsp; >>> connection.test_input ('bỏ n')
& Nbsp; -> CLOSE
Bắt đầu máy chủ
& Nbsp; >>> thời gian nhập khẩu
& Nbsp; >>> zope.testing.loggingsupport nhập khẩu, khai thác gỗ
& Nbsp; >>> loghandler = zope.testing.loggingsupport.InstalledHandler (
& Nbsp; ... Không, cấp = logging.INFO)
& Nbsp; >>> zc.monitor.start (9644)
& Nbsp; ('', 9644)
& Nbsp; >>> print loghandler
& Nbsp; INFO zc.ngi.async.server
& Nbsp; lắng nghe trên ('', 9644)
& Nbsp; >>> zc.monitor.last_listener.close ()
& Nbsp; >>> zc.monitor.last_listener = None
& Nbsp; >>> time.sleep (0.1)
& Nbsp; >>> loghandler.clear ()
& Nbsp; >>> zc.monitor.start (("127.0.0.1", 9644))
& Nbsp; ('127.0.0.1 ", 9644)
& Nbsp; >>> print loghandler
& Nbsp; INFO zc.ngi.async.server
& Nbsp; lắng nghe trên ("127.0.0.1", 9644)
& Nbsp; >>> zc.monitor.last_listener.close ()
& Nbsp; >>> zc.monitor.last_listener = None
& Nbsp; >>> time.sleep (0.1)
Liên kết với cổng 0:
& Nbsp; >>> addr = zc.monitor.start (0)
& Nbsp; >>> addr == zc.monitor.last_listener.address
& Nbsp; Đúng
& Nbsp; >>> zc.monitor.last_listener.close ()
& Nbsp; >>> zc.monitor.last_listener = None
& Nbsp; >>> time.sleep (0.1)
Cố gắng kết nối lại với một cổng được sử dụng:
& Nbsp; >>> loghandler.clear ()
& Nbsp; >>> zc.monitor.start (("127.0.0.1", 9644))
& Nbsp; ('127.0.0.1 ", 9644)
& Nbsp; >>> zc.monitor.start (("127.0.0.1", 9644))
& Nbsp; False
& Nbsp; >>> print loghandler
& Nbsp; INFO zc.ngi.async.server
& Nbsp; lắng nghe trên ("127.0.0.1", 9644)
& Nbsp; zc.ngi.async.server CẢNH BÁO
& Nbsp; không thể nghe trên ("127.0.0.1", 9644)
& Nbsp; CẢNH BÁO gốc
& Nbsp; không thể khởi động máy chủ zc.monitor vì địa chỉ ("127.0.0.1", 9644) đang được sử dụng.
& Nbsp; >>> zc.monitor.last_listener.close ()
& Nbsp; >>> zc.monitor.last_listener = None
& Nbsp; >>> time.sleep (0.1)
& Nbsp; >>> loghandler.uninstall ()

là gì mới trong phiên bản này:

  • Khi ràng buộc các màn hình với một ổ cắm Unix-miền, loại bỏ một ổ cắm hiện tại cùng một con đường để các ràng buộc là thành công. Điều này có thể ảnh hưởng đến việc sử dụng hiện có đối với hành vi zopectl debug, nhưng sẽ được dự đoán nhiều hơn.

là gì mới trong phiên bản 0.3.0:

  • Thêm một giao diện đăng ký đơn giản
  • .

Yêu cầu :

  • Python

Phần mềm tương tự

Wmc2d
Wmc2d

11 May 15

mod_clamav
mod_clamav

3 Jun 15

wootoff
wootoff

11 May 15

Phần mềm khác của nhà phát triển Jim Fulton

zc.zope3recipes
zc.zope3recipes

14 Apr 15

zc.s3uploadqueue
zc.s3uploadqueue

20 Feb 15

zc.resumelb
zc.resumelb

20 Feb 15

Ý kiến ​​để zc.monitor

Bình luận không
Nhập bình luận
Bật hình ảnh!