看板 Python 關於我們 聯絡資訊
我有 A.py B.py C.py 都在同一台電腦執行 A負責計算答案 給出ans B跟C負責抄ans 目前的做法是 A如果計算出來 就寫入txt檔 B跟C就是每0.1秒讀取txt檔 但是這樣會有時間差 而且多了 寫入->等待 -> 讀取的工作 一直讀取硬碟不曉得會不會傷硬體 有沒有更專業的方法 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.23.166 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1670922117.A.65F.html
lycantrope: redis12/13 17:04
XiaoLuu5566: 感謝ly大 這就是我要的功能,我之前是想用socket 但12/13 17:19
XiaoLuu5566: 感覺有點複雜XD12/13 17:19
TuCH: Socket 應該還是比較快12/13 17:32
agogoman: RPC12/13 17:50
sating00: Message Queue?12/13 18:16
lycantrope: 只是自用socket串一串可能比較簡單12/13 18:47
timTan: 不能只是使用模組嗎?12/13 21:12
Schottky: 我會選擇 pipe 或 named pipe,不過只有 UNIX 能用12/13 23:01
ToastBen: 推8樓 main.py12/14 09:18
lycantrope: 也可在main.py內用subprocess跑ABC後,PIPE串起來12/14 10:28
目前傾向用Redis 因為廣播的就是A.py 但是聽眾我可以無限增加 保有彈性 如果之後有D.py E.py 我可以直接打開聆聽即可 不過我用redis 速度好像跟我原本透過txt的速度差不多!? ※ 編輯: XiaoLuu5566 (101.12.50.74 臺灣), 12/14/2022 10:46:08
Hsins: 都在同一台電腦運行的話,而且又是十分相關的功能的話,我 12/14 13:26
Hsins: 於七樓說的方式使用 module 並且讓資料在記憶體中儲存與使 12/14 13:27
Hsins: 用,讓他保持高內聚且低耦合的狀態 12/14 13:27
XiaoLuu5566: 請問如果我程式是個別檔案 也可以同時取得最新的值 12/15 16:39
XiaoLuu5566: 嗎 12/15 16:39
hank85293: 寫成模組 12/15 21:49
poototo: A.py用協程及task,處理你要的推播及動態import聽眾.py 12/15 23:19
poototo: 或你也能用airflow管理,每個py都是獨立的task 12/16 00:10
poototo: 增加聽眾就是增加task,多個task一起處理data而已 12/16 00:12
jarvuschen: zeromq 包裝好 socket 了 12/16 19:41