iT邦幫忙

0

Apache AirFlow2.0 分佈式爬蟲管理解決方案 請益

  • 分享至 

  • xImage

各位大大好
小弟近期在學習研究 AirFlow2.0 這個排程管理工具
目前遇到一個問題,不知道版上有沒有有經驗的大大能協助解惑
我的案例是這樣:

過往公司有許多爬蟲每天都需要執行排程任務 (分散在 N 台windows VM上),基本都是用 windows 工作排程器做設定,但長期下來就發現這非常難以管理,也沒有一個較完善的錯誤偵查機制,如果爬蟲死了,幾本上都是等到 User 反映 DB 沒資料才會知道。

因此小弟在研究後,決定想要導入 AirFlow2.0 作為公司未來的 ETL 解決方案
目前 AirFlow Webserver 架在一台 Linux 主機上,而如果要用分散式處理,我看網路上的資源,好像大部分會指向推薦使用 CeleryExecutor 這個工具,但自己對 Celery 的概念有點有看沒懂 QQ 看起來是他還需要另外架一台 Server 作為 Queue 的管理 Server 這樣嗎?

另外我也在文件看到另一個 DaskExecutor,從敘述來看,好像也是用來處理分佈式排程工作的功能,但 DaskExecutor/CeleryExecutor 這兩個有甚麼具體的差異嗎?

若以小弟的案例來說,請問有沒有比較適合的研究方向呢?
研究了很久還有覺得有點鬼打牆,希望各位大大指點,感恩感恩><

obarisk iT邦研究生 1 級 ‧ 2022-05-24 11:10:40 檢舉
你的 Job 的執行者(Job runner) 是 windows 嗎?

先考慮 Runner 再回來想 Executor 比較好
huahualiu iT邦新手 2 級 ‧ 2022-05-24 11:37:29 檢舉
是的
幾乎所有爬蟲的工作環境都是在 WINDOWS 上執行
只有 WEB SERVER 是架在 Linux 環境
blanksoul12 iT邦研究生 5 級 ‧ 2022-05-25 08:34:28 檢舉
好奇問問,排程可不可再插入一些查核的程序呢? 如網找後或同事上班前要找出有沒有該檔案存在及內裏有沒有資料之類,新加這些應該比學多一樣東西到精通要的時間比較少吧 (雖然學多有益).
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答