亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Dask 分布式,函數如何自省以了解它是作為分布式 future 還是作為“正常”函數運行?

使用 Dask 分布式,函數如何自省以了解它是作為分布式 future 還是作為“正常”函數運行?

喵喵時光機 2023-09-02 16:41:58
我正在使用 Dask Distributed 通過接口將函數提交到我的集群client.submit。如果集群不可用,我默認為串行、非分布式執行。我希望能夠從函數中確定它是作為分布式未來運行還是作為正常函數運行。例如,對于work下面的函數,我想知道它是通過運行client.submit(work)還是簡單地作為運行work()。def work():    if is_distributed():       # do stuff    else:       # do different stuff上面應該is_distributed()是什么樣子?
查看完整描述

1 回答

?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

您應該使用該功能distributed.worker.get_worker。它將返回工作實例,或者引發一個ValueError. 所以你可以做類似的事情


def is_distributed()():

    import distributed.worker

    try:

        get_worker()

        return True

    except ValueError:

        return False


查看完整回答
反對 回復 2023-09-02
  • 1 回答
  • 0 關注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號