解決問題的方法 ≠ 最好的方法;我只是提出我的解法,了解問題發生的原因後你可以想想自己如果遇到了會怎麼解決
昨天的教學讓你的排程穩定的在背景執行,但是你重開機在終端機(Terminal)輸入 forever list 的指令你會發現 forever 根本沒有 forever
為了決這個問題,今天會教你如何在電腦啟動時執行 script 讓 forever 跑起來
的方法,這塊我會分成 windows 跟 mac 來說明,請大家安心服用
1.1 撰寫執行排程的 shell script :crawler_cron.sh
1.2 將 crawler_cron.sh 設定為可以被執行
1.3 設定 crawler_cron.sh 在使用者登入後自動執行
1.4 重新登入確認 forever 是否運行
2.1 進入排程設定頁面
2.2 設定觸發條件
2.3 打開 windows 歷程紀錄
2.4 重開機確認 forever 是否運行
crawler_cron.sh
sh 資料夾
,並新增 crawler_cron.sh
pwd
指令取得# 進入專案資料夾
cd /專案資料夾路徑
# 啟動排程服務
yarn forever
sh crawler_cron.sh
建立的檔案一開始只有讀寫功能
,我們要將 crawler_cron.sh 設定為可以被執行
,才不會在自動化時因權限不足執行失敗
# 進入資料夾
cd sh
# 列出資料夾地下檔案權限
ll
-rw-r--r--
chmod 755 crawler_cron.sh
想要深入了解 chmod 檔案權限概念的請參考這篇文章
shell script 必須在終端機相關應用程式下執行
- 進入 系統偏好設定 後,選擇 使用者與群組
- 選擇要觸法這個 shell script 的使用者,在 登入項目 下按 + 來新增觸發的項目
- 請選擇剛剛設定為可以 被執行的 crawler_cron.sh
- 加入項目後把 隱藏 打勾
請你重新登入後在終端機(Trerminal)輸入 forever list 的指令確認是否正常運行
最高權限執行
,這裡我選擇 不論使用者登入與否均執行 是因為我要在開機時就觸發,而剛開機的時候使用者是還沒登入的;這塊可以依照自己的實際需求去做調整啟動時
會開始工作
- 我們看到建立的工作在歷程紀錄旁邊顯示 (已停用),我們需要把他開啟
- 在左上角 工作排程器(本機) 按右鍵,選擇 啟用所有工作歷程紀錄
- 確認你要執行工作的歷程紀錄旁邊 沒有(已停用),就代表設定完成嚕
請注意因為使用的是最高權限執行 yarn forever,所以你在 cmd 裡面用 forever list 是看不到的
系統管理員身分執行 cmd
我在 Medium 平台 也分享了許多技術文章
❝ 主題涵蓋「MIS & DEVOPS、資料庫、前端、後端、MICROSFT 365、GOOGLE 雲端應用、自我修煉」希望可以幫助遇到相同問題、想自我成長的人。❞
在許多人的幫助下,本系列文章已出版成書,並添加了新的篇章與細節補充:
- 加入更多實務經驗,用完整的開發流程讓讀者了解專案每個階段要注意的事項
- 將爬蟲的步驟與技巧做更詳細的說明,讓讀者可以輕鬆入門
- 調整專案架構
- 優化爬蟲程式,以更廣的視角來擷取網頁資訊
- 增加資料驗證、錯誤通知等功能,讓爬蟲執行遇到問題時可以第一時間通知使用者
- 排程部分改用 node-schedule & pm2 的組合,讓讀者可以輕鬆管理專案程序並獲得更精確的 log 資訊
有興趣的朋友可以到天瓏書局選購,感謝大家的支持。
購書連結:https://www.tenlong.com.tw/products/9789864348008