zc.monitor

نرم افزار تصویر:
zc.monitor
جزئیات نرم افزار:
نسخه: 0.3.1
ها تاریخ: 14 Apr 15
توسعه دهنده: Jim Fulton
پروانه: رایگان
محبوبیت: 1

Rating: nan/5 (Total Votes: 0)

.

zc.monitor سرور فراهم می کند که یک رابط خط فرمان به درخواست بیت های مختلف از اطلاعات را لمس کنید و است؛ سرور zc.ngi بر اساس است، بنابراین ما می توانیم زیرساخت های تست zc.ngi برای نشان دادن آن استفاده کنید.
و nbsp؛ >>> واردات zc.ngi.testing
و nbsp؛ >>> واردات zc.monitor
و nbsp؛ >>> اتصال = zc.ngi.testing.TextConnection ()
و nbsp؛ >>> سرور = zc.monitor.Server (اتصال)
سرور پشتیبانی مجموعه توسعه از دستورات. به نظر می رسد تا دستورات به عنوان نام zc.monitor.interfaces.IMonitorPlugin "آب و برق"، به عنوان بسته zope.component تعریف شده است.
برای دیدن این، ما یک پلاگین سلام ایجاد:
و nbsp؛ >>> دف سلام (اتصال، نام = 'جهان):
و nbsp؛ ... "" "بگو سلام
& nbsp؛ در ...
& nbsp؛ در ... ارائه یک نام اگر شما جهان نیست.
و nbsp؛ ... "" "
و nbsp؛ ... connection.write ("سلام٪ S، خوب برای دیدار با تو را n" نام٪)
و ثبت نام آن:
و nbsp؛ >>> zc.monitor.register (سلام)
هنگامی که ما ثبت نام دستور، ما می توانیم یک نام ارائه. برای دیدن این، ما دوباره ثبت نام Hello:
و nbsp؛ >>> zc.monitor.register (سلام، سلام؟)
در حال حاضر ما می توانید از دستور سلام به سرور را:
و nbsp؛ >>> connection.test_input ('سلام N')
& nbsp؛ در جهان سلام، خوب برای دیدار با بله!
و nbsp؛ -> بستن
ما می توانیم یک نام عبور:
و nbsp؛ >>> اتصال = zc.ngi.testing.TextConnection ()
و nbsp؛ >>> سرور = zc.monitor.Server (اتصال)
و nbsp؛ >>> connection.test_input ('سلام جیم N')
و nbsp؛ سلام جیم، خوب به دیدار تو!
و nbsp؛ -> بستن
سرور همراه با چند دستور ساده است. بیایید آنها را ثبت نام بنابراین ما می توانید ببینید چه انجام می دهند. ما رابط ثبت نام simplfied خواهید استفاده کنید:
و nbsp؛ >>> zc.monitor.register_basics ()
اولین دستور کمک است. دادن کمک بدون ورودی، لیستی از دستورات در دسترس:
و nbsp؛ >>> اتصال = zc.ngi.testing.TextConnection ()
و nbsp؛ >>> سرور = zc.monitor.Server (اتصال)
و nbsp؛ >>> connection.test_input ('کمک N')
را لمس کنید و. پشتیبانی از دستورات:
و nbsp؛ سلام - سلام
& nbsp؛ از کمک - دریافت راهنما در مورد دستورات سرور
و nbsp؛ سلام - سلام
و nbsp؛ تعاملی - روشن کردن حالت در تعاملی مانیتور
& nbsp؛ از ترک - ترک مانیتور
و nbsp؛ -> بستن
ما می توانیم کمک مفصل با مشخص نام فرمان دریافت:
و nbsp؛ >>> اتصال = zc.ngi.testing.TextConnection ()
و nbsp؛ >>> سرور = zc.monitor.Server (اتصال)
و nbsp؛ >>> connection.test_input ('کمک کمک N')
و nbsp؛ راهنما برای کمک:
و nbsp؛
& nbsp؛ در دریافت کمک در مورد دستورات سرور
و nbsp؛
و nbsp؛ به طور پیش فرض، یک لیست از دستورات و خلاصه چاپ شده است. ارائه
& nbsp؛ یک نام فرمان برای دریافت مستندات دقیق برای یک دستور.
و nbsp؛
و nbsp؛ -> بستن
و nbsp؛ >>> اتصال = zc.ngi.testing.TextConnection ()
و nbsp؛ >>> سرور = zc.monitor.Server (اتصال)
و nbsp؛ >>> connection.test_input ('کمک سلام N')
و nbsp؛ کمک برای سلام:
و nbsp؛
و nbsp؛ بگو سلام
و nbsp؛
& nbsp؛ در ارائه یک نام اگر شما جهان نیست.
و nbsp؛
و nbsp؛ -> بستن
دستور تعاملی سوئیچ مانیتور به حالت تعاملی. همانطور که در بالا دیده می شود، مانیتور معمولا به یک فرماندهی واحد پاسخ و سپس بسته اتصال. در "حالت تعاملی"، اتصال بسته نشده است تا زمانی که دستور ترک استفاده می شود. این می تواند مفید باشد که دسترسی به مانیتور از طریق شبکه راه دور برای تشخیص و.
و nbsp؛ >>> اتصال = zc.ngi.testing.TextConnection ()
و nbsp؛ >>> سرور = zc.monitor.Server (اتصال)
و nbsp؛ >>> connection.test_input ('تعاملی N')
& nbsp؛ در حالت تعاملی در. استفاده از "ترک" را به خروج.
و nbsp؛ >>> connection.test_input ('کمک تعاملی N')
و nbsp؛ کمک برای تعاملی:
و nbsp؛
& nbsp؛ از روشن کردن حالت در تعاملی مانیتور
و nbsp؛
و nbsp؛ به طور معمول، مانیتور پس از اتصال یک فرماندهی واحد آزاد می کند.
و nbsp؛ با وارد کردن حالت تعاملی، مانیتور خواهد شد اتصال به پایان نمی
و nbsp؛ تا زمانی که شما وارد "ترک" فرمان.
و nbsp؛
& nbsp؛ در حالت تعاملی، یک خط خالی را تکرار آخرین فرمان.
و nbsp؛
و nbsp؛ >>> connection.test_input ('کمک ترک N')
و nbsp؛ کمک برای ترک:
و nbsp؛
& nbsp؛ از ترک مانیتور
و nbsp؛
& nbsp؛ این تنها واقعا در حالت تعاملی مفید است (نگاه کنید به "تعاملی"
& nbsp؛ در دستور).
و nbsp؛
توجه کنید که نتیجه از دستورات با پایان دادن نیست "-> بستن"، که یک اتصال بسته اند نشان داد.
همچنین توجه کنید که حالت تعاملی اجازه می دهد تا شما را به تکرار دستورات.
و nbsp؛ >>> connection.test_input ('سلام N')
& nbsp؛ در جهان سلام، خوب برای دیدار با بله!
و nbsp؛ >>> connection.test_input ('' N)
& nbsp؛ در جهان سلام، خوب برای دیدار با بله!
و nbsp؛ >>> connection.test_input ('سلام جیم N')
و nbsp؛ سلام جیم، خوب به دیدار تو!
و nbsp؛ >>> connection.test_input ('' N)
و nbsp؛ سلام جیم، خوب به دیدار تو!
در حال حاضر ما ترک برای بستن اتصال استفاده خواهد شد.
و nbsp؛ >>> connection.test_input ('ترک N')
و nbsp؛ خداحافظ.
و nbsp؛ -> بستن
در نهایت، آن را شایان ذکر است که استثنا خواهد traceback در اتصال تولید کند.
و nbsp؛ >>> اتصال = zc.ngi.testing.TextConnection ()
و nbsp؛ >>> سرور = zc.monitor.Server (اتصال)
و nbsp؛ >>> connection.test_input ('سلام جیم 42 N') # doctest: + حذف
را لمس کنید و. Traceback (تماس جدید ترین تاریخ و زمان آخرین):
& nbsp؛ در ...
& nbsp؛ در TypeError: سلام () طول می کشد در اکثر 2 استدلال (3 داده شده)
و nbsp؛
و nbsp؛ -> بستن
حلقه فرماندهی
با استفاده از حالت "بیشتر"، دستورات می تواند سیگنال که آنها می خواهند به ادعای تمام ورودی کاربر در آینده. ما یک مثال احمقانه برای نشان دادن چگونه کار می کند را اجرا می کنند.
در اینجا یک دستور است که پیاده سازی یک ماشین حساب است.
و nbsp؛ '.' >>> فوری =
و nbsp؛ >>> دف کالک (اتصال، * استدلال):
و nbsp؛ ... اگر استدلال و استدلال [0] == 'ترک':
و nbsp؛ ... بازگشت zc.monitor.QUIT_MARKER
& nbsp؛ در ...
و nbsp؛ ... اگر استدلال:
و nbsp؛ ... connection.write (. STR (محاسبه- ('' ملحق (استدلال))))
و nbsp؛ ... connection.write ('' N)
& nbsp؛ در ...
و nbsp؛ ... connection.write (فوری)
و nbsp؛ ... بازگشت zc.monitor.MORE_MARKER
اگر ما ثبت نام این دستور ...
و nbsp؛ >>> zc.monitor.register (کالک)
... ما می توانیم آن را احضار و ما به موقع.
و nbsp؛ >>> اتصال = zc.ngi.testing.TextConnection ()
و nbsp؛ >>> سرور = zc.monitor.Server (اتصال)
و nbsp؛ >>> connection.test_input ('کالک N')
و nbsp؛
اگر ما پس از آن ورودی را بیشتر ما در نتیجه علاوه اعلان دیگری.
و nbsp؛ >>> connection.test_input ('2 + 2 N')
& nbsp؛ از 4
و nbsp؛
و nbsp؛ >>> connection.test_input ('4 * 2 N')
& nbsp؛ در 8
و nbsp؛
هنگامی که ما در حال انجام ما می توانیم ماشین حساب بگویید تا به ما اجازه رفتن.
و nbsp؛ >>> connection.test_input ('ترک N')
و nbsp؛ -> بستن
شروع سرور
و nbsp؛ >>> زمان واردات
و nbsp؛ >>> واردات zope.testing.loggingsupport، ورود به سیستم
و nbsp؛ >>> loghandler = zope.testing.loggingsupport.InstalledHandler (
و nbsp؛ ... هیچ، سطح = logging.INFO)
و nbsp؛ >>> zc.monitor.start (9644)
و nbsp؛ (''، 9644)
و nbsp؛ >>> loghandler چاپ
& nbsp؛ در INFO zc.ngi.async.server
& nbsp؛ از گوش دادن در (''، 9644)
و nbsp؛ >>> zc.monitor.last_listener.close ()
و nbsp؛ >>> zc.monitor.last_listener = هیچ
و nbsp؛ >>> time.sleep (0.1)
و nbsp؛ >>> loghandler.clear ()
و nbsp؛ >>> zc.monitor.start (('127.0.0.1، 9644))
و nbsp؛ ('127.0.0.1، 9644)
و nbsp؛ >>> loghandler چاپ
& nbsp؛ در INFO zc.ngi.async.server
& nbsp؛ از گوش دادن در ('127.0.0.1، 9644)
و nbsp؛ >>> zc.monitor.last_listener.close ()
و nbsp؛ >>> zc.monitor.last_listener = هیچ
و nbsp؛ >>> time.sleep (0.1)
اتصال به پورت 0:
و nbsp؛ >>> ADDR = zc.monitor.start (0)
و nbsp؛ >>> ADDR == zc.monitor.last_listener.address
و nbsp؛ واقعی
و nbsp؛ >>> zc.monitor.last_listener.close ()
و nbsp؛ >>> zc.monitor.last_listener = هیچ
و nbsp؛ >>> time.sleep (0.1)
تلاش برای دوباره صحافی کردن به یک پورت در استفاده:
و 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؛ کاذب
و nbsp؛ >>> loghandler چاپ
& nbsp؛ در INFO zc.ngi.async.server
& nbsp؛ از گوش دادن در ('127.0.0.1، 9644)
را لمس کنید و. zc.ngi.async.server هشدار
و nbsp؛ قادر به در گوش ('127.0.0.1، 9644)
را لمس کنید و. هشدار ریشه
و nbsp؛ قادر به شروع سرور zc.monitor چون آدرس ('127.0.0.1، 9644) در حال استفاده است.
و nbsp؛ >>> zc.monitor.last_listener.close ()
و nbsp؛ >>> zc.monitor.last_listener = هیچ
و nbsp؛ >>> time.sleep (0.1)
و nbsp؛ >>> loghandler.uninstall ()

چه جدید در این نسخه است:

هنگام اتصال مانیتور به یک سوکت یونیکس دامنه، حذف سوکت های موجود در همان مسیر بنابراین اتصال موفق است. این ممکن است استفاده از موجود با توجه به رفتار اشکال زدایی zopectl تاثیر می گذارد، اما خواهد بود قابل پیش بینی است.

جدید در نسخه 0.3.0 است:

به اضافه یک رابط ثبت نام ساده.

مورد نیاز:

پایتون

نرم افزار های مشابه

نرم افزار های دیگر از توسعه دهنده Jim Fulton

zc.s3uploadqueue
zc.s3uploadqueue

20 Feb 15

zc.zope3recipes
zc.zope3recipes

14 Apr 15

zc.resumelb
zc.resumelb

20 Feb 15

نظرات به zc.monitor

نظر یافت نشد
اضافه کردن نظر
روشن کردن تصاویر!