簡體   English   中英

一組執行計划任務的集群python工人

[英]A set of cluster python workers doing scheduled tasks

我想建立一組集群工作者 (例如,數字海洋中的飛沫)。

每個工作人員將執行一個定期任務,並將結果定期發送到主應用程序。

這是偽裝的功能的偽代碼:

工人代碼

while True:
    resultFromLocationXY = calculate_my_local_task()
    send_task_to_the_main_application(resultFromLocationXY)
    time.sleep(5)

主要應用代碼

在主應用程序中,我想異步評估工作程序結果:

while True:
    resultFromLocationXY = listen_to_results_from_location('xy') # not blocking, if new results are available, update the results variable

    process_the_results([resultFromLocationXY, resultFromLocationXX, ...])
    time.sleep(5)

我一直在使用ipython ipcluster解決方案。 我能夠創建一個遠程工作者並通過使用apply_async函數執行任務,並以非阻塞方式安排所有任務。

但是:我無法執行定期任務,例如流任務。 此外,我想在一個位置擁有更多節點,並將相同的變量流式傳輸到主應用程序中。

我更喜歡非ipython解決方案。

對我來說,最好的解決方案之一可能是

  • 創建一個python守護程序來監聽工作程序。 工作人員發送了一些數據后,主守護程序將創建一個線程,然后再次開始偵聽其他工作人員
  • 創建worker並使用cron實用程序。 這樣,您可以在一定間隔內動態創建工作程序。 工作人員將調用主守護程序。 一旦主守護程序以“ OK狀態”響應,工作人員就可以啟動

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM