我有一個程序需要大約1秒的時間才能運行,並將一個文件作爲輸入併產生另一個文件作爲輸出。問題是我必須能夠每秒處理大約30個文件。要處理的文件將作爲隊列(通過memcached實現)提供,並且不必按順序處理,因此基本上程序的一個實例會檢出要處理的文件並執行此操作。我可以使用一個進程管理器,在系統資源可用時自動啓動程序的實例。自動管理一個進程的多個實例
在簡單的一端,「系統資源」將僅僅意味着「一次最多兩個進程」,但是如果我移動到另一臺機器上,則可能是2或10或100等。至少,我可以使用一個實用程序來處理這個問題。而在複雜的一端,我希望在CPU可用時啓動另一個進程,因爲這些機器將專用。 CPU時間似乎是約束資源 - 程序不是內存密集型的。
什麼工具可以完成這種過程管理?