2013-06-13 44 views
0

我正在開發一個調度程序類,用於在定義的週期中從某些連接的設備中獲取數據。由於我通過PHP CLI啓動調度程序(調度程序是爲無限運行時設計的),因此我希望使調度程序類可管理,例如我想檢查狀態並停止當前調度程序。 例行看起來像這樣:while($this->run){ do some fancy fetching stuff here}在Web環境中使用通過CLI調用的對象的實例

我想改變這個非常調度類的instace的變種運行,所以是有可能,也許存儲例如在文件或類似這樣的東西,這樣我就可以把它傳遞給經理級?

回答

0

只是一些想法:

  • 簡單與文件:當您啓動調度它會生成一個唯一的ID(GUID/UUID),例如使用uniqid,並在標準輸出上顯示它,比如說「123456a1b2c3」,以便外部進程可以識別它。 然後調度程序在一個名爲「123456a1b2c3.out」的文件中寫入所有監視信息:心跳,任務數量......並從另一個文件「123456a1b2c3.in」中讀取一些指令:「停止」,「重啓」 ......

  • 更多地參與,但有數據庫更強大:而不是使用文件系統使用一個數據庫,像MySQL的如果你已經有一個,需要在分佈式一個管理調度時尚SQLite如果只有一臺機器(儘管您也可以將它用於分佈式FS),並且您不希望完整的數據庫滿足這樣的基本要求。

+0

感謝您的想法。我試圖用靜態類來完成它,但現在我要使用你的數據庫方式。 –

相關問題