主管是一個客戶機/服務器系統,允許其用戶在控制多個進程的類UNIX操作系統。它的靈感來自於以下情況:
- 它往往是不方便需要寫“的rc.d”腳本為每一個流程實例。 rc.d的腳本程序初始化/自動啟動/管理的一個很大的最小公分母的形式,但它們可以是痛苦的編寫和維護。此外,rc.d腳本無法自動重啟崩潰的過程中,很多程序不重新啟動自己正確的崩潰。 Supervisord開始流程作為其子過程,並且可以被配置為自動地重新啟動它們上崩潰。它也可以被自動配置為啟動過程在它自己的調用。
- 這往往很難得到準確的向上/向下狀態上UNIX進程。 PID文件經常說謊。 Supervisord啟動過程作為子,所以它總是知道它的孩子的真正向上/向下的狀態,並可以方便地查詢該數據。
- 誰需要控制流程狀態,用戶通常只需要做到這一點。他們不希望或需要全面的shell訪問的進程正在運行的機器。 Supervisorctl允許非常有限的訪問本機的形式,從根本上讓用戶看到進程狀態和控制supervisord控制的子流程通過發射“停止”,“啟動”和“重啟”,從一個簡單的shell或Web UI命令。
- 用戶經常需要在多台計算機控制的過程。監提供一個簡單的,安全的,且均勻的機制,用於交互式和自動地控制的機器上的組的過程。
- 工藝它們偵聽“低”TCP端口經常需要開始並重新啟動以root用戶(在UNIX不好的特性)。它通常,它是完美的罰款,讓“正常”的人停止或重新啟動這樣一個過程的情況下,卻為他們提供shell訪問往往是不切實際的,並為他們提供root訪問權或sudo訪問往往是不可能的。這也是(正確地)很難向他們解釋為什麼這個問題的存在。如果supervisord開始為根,所以能夠允許“正常”的用戶,而無需解釋該問題的複雜性,以它們來控制這種過程。
- 過程經常需要啟動和停止分組,有時甚至在一個“優先順序”。它往往很難向人們解釋如何做到這一點。監事允許你指定優先級的進程,並允許用戶通過像“啟動所有”的supervisorctl客戶端發出的命令,而“重新啟動所有”,這開始他們在預先指定的優先順序。另外,流程可分為“過程組”和一系列邏輯相關的流程可以停止和開始作為一個unit.otification體系中加入。
什麼是新的的本新聞稿中:
- 在程序選項用戶的行為發生了變化。在所有以前的版本,如果supervisord未能切換到用戶,警告將被發送到標準錯誤日誌,但子進程仍然會催生。這意味著,在配置文件中的錯誤可能導致子進程被無意中催生了以root身份。現在,supervisord不會產卵子,除非它是能夠成功地切換到用戶。感謝伊戈爾Partola報告此問題。
- 如果在配置文件中指定的用戶沒有在系統上存在,supervisord現在將打印錯誤並拒絕啟動。
- 已還原的變化,以在3.0b1的目的是要允許多個進程來登錄到相同的文件與旋轉日誌處理日誌記錄引入。實施造成supervisord重裝期間崩潰和洩漏的文件句柄。此外,由於日誌旋轉選項上按程序給定的,是不可能的配置可以創建(同一文件衝突的旋轉選項)。考慮到這一點,並認為supervisord現已日誌的支持,因此決定刪除此功能。警告添加到文檔兩個進程可能無法登錄到同一個文件。
- 修正了解析命令=可能導致supervisord崩潰,如果shlex.split()失敗,如一個壞引用。補丁斯科特·威爾遜。
- 現在可以通過提供在命令行選項的連接信息使用supervisorctl一台機器上沒有supervisord.conf文件。補丁被延Rantil。
- 修正了supervisord如果將系統日誌處理程序使用,supervisord收到SIGUSR2崩潰(日誌重新申請)。
- 修正了一個XML-RPC漏洞在哪裡調用supervisor.getProcessInfo()有一個不好的名字會導致500內部服務器錯誤,而不是返回BAD_NAME故障。
- 添加一個圖標到Web界面。通過補丁卡歐Ariede。
- 修正了一個測試失敗是由於夏令時不正確的處理在childutils測試。修補程序通過Ildar Hizbulin。
- 修正了一些pyflakes警告未使用的變量,進口,和死代碼。補丁由Philippe Ombredanne。
什麼版本的新 3.0 Beta 1的:
- 修正了一個解析的環境=沒有驗證該鍵/值對被正確分離。修補程序通過的Martijn Pieters的。
- 修正了HTTP服務器代碼發送大響應時可能會造成不必要的延誤的錯誤。補丁菲利普Zeyliger。
- 當supervisord啟動以root身份,如果沒有提供-c標誌,警告正在發出到控制台。理由:supervisord看起來對supervisord.conf文件的當前工作目錄;有人可能會誘使root用戶進入首發supervisord而cd'ed到有流氓supervisord.conf目錄。
- 在警告中加入有關啟動supervisord沒有-c標誌的安全隱患的文檔。
- 在添加一個布爾程序選項stopasgroup,默認為false。如果為true,該標誌將導致主管發送停止信號的全過程組。這是程序,比如瓶在調試模式下,不傳播停止信號,以自己的孩子有用的,使他們成為孤兒。
- 在Python的2.3不再支持。即支持在Python 2.3的最後一個版本是主管3.0a12。
- 刪除未使用的" supervisor_rpc"從setup.py入口點。
- 修正了一個錯誤,在旋轉的日誌處理程序會導致意想不到的結果,當兩個過程分別設置登錄到同一個文件。補丁被白衣Morriss。
- 修正了重裝,每個重裝可能會導致內存洩漏,因為會被追加警告信息的列表,但從來沒有被清除在配置文件中的錯誤。補丁菲利普Zeyliger。
- 在增加了一個新的Syslog日誌處理程序。由於丹尼斯Bilenko,內森·史密斯,和Jason R.庫姆斯,誰每個促成了補丁。
- 在把所有的更改歷史到一個文件中(CHANGES.txt)。
什麼版本3.0的Alpha 12是新的:
- 在公佈更換破損3.0a11包,其中非-python文件沒有包括在包中。
什麼是3.0版阿爾法10個新:
- 在固定的Web界面的樣式等等頁腳行不會重疊一個漫長的過程列表。由於德里克DeVries醫師的補丁。
- 在允許的RPC接口插件註冊新的事件類型。
- 的FCGI Bug修復插座沒有得到清理時,從supervisorctl發出reload命令。此外,默認行為已更改FCGI插座。他們是新的封閉每當一組ofrunning進程數降為零。此前,插座都保持開放,除非一組電平停止指令發出。
- 當HTTP服務器無法反向解析主機名到IP地址更好的錯誤消息。以前的行為:顯示一個套接字錯誤。當前的行為:吐出一個建議到stdout
- 環境變量,通過環境設置=在 價值
- [supervisord]部分沒有任何影響。由於悅鮑德溫的補丁。
- 修正錯誤的地方停止的過程會導致發出停止請求後丟失發生過程輸出。見https://github.com/Supervisor/supervisor/issues/11。
- 在感動2.X更改日誌條目到HISTORY.txt。
- 在轉換CHANGES.txt和的README.txt到適當的ReStructuredText並列入它們在setup.py的LONG_DESCRIPTION。
- 在添加了tox.ini到包(通過TOX在包目錄中運行)。測試主管多個Python版本。
要求:
- 在Python中
評論沒有發現