[Laravel] 使用Supervisor執行Laravel的Queue Worker

更新於 發佈於 閱讀時間約 2 分鐘
此文章同步刊登於我的部落格


在使用laravel中的Queue job的時候,除了程式本身寫好之外

伺服器環境還會需要確保Laravel的queue:work指令可以持續進行

如果中斷還可以重新啟動這個時候就會需要用到Supervisor這個工具了


一、安裝Supervisor

apt update
apt install supervisor


二、啟動Supervisor

# supervisord -c <設定檔路徑> (預設/etc/supervisor/supervisord.conf)
supervisord -c /etc/supervisor/supervisord.conf


三、建立queue worker設定檔

cd /etc/supervisor/conf.d
vim laravel-worker.conf

設定檔內容(註解要刪除)

[program:laravel-worker-my-project]
process_name=%(program_name)s_%(process_num)02d
# command=php <專案資料夾路徑>/artisan queue:work --sleep=<每次嘗試間隔> --tries=<最多嘗試次數>
command=php /var/www/my-project/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=root
numprocs=2
startsecs=0
redirect_stderr=true
# stdout_logfile=<log檔案路徑>
stdout_logfile=/var/log/supervisor/laravel-worker-my-project.log
# logfile_maxbytes=<LOG檔案上限>
logfile_maxbytes=104857600
stopwaitsecs=3600


四、載入設定檔並啟用

supervisorctl reread
supervisorctl update
supervisorctl restart laravel-worker-my-project:*


五、查看服務是否啟用

supervisorctl status


環境

  • OS: Ubuntu 18.04
avatar-img
7會員
21內容數
你可以在這裡看到後端工程師的技術文章 也可以看到一些投資相關的心得分享 歡迎交流~
留言
avatar-img
留言分享你的想法!
Hankz是名工程師 的其他內容
在PHP的團隊開發中,PHP CS Fixer可以確保每個開發人員的Coding Style相同,是相當重要的工具。本篇文章將會詳細說明PHP CS Fixer在Linux環境下的安裝方式。
Composer是PHP的軟體套件管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。通常以專案為單位進行管理,會在專案根目錄底下(預設是vendor)安裝套件,除此外可以安裝全局套件。
本文將介紹在Windows環境中安裝Oracle Instant Client及相關PHP擴展,以進行與Oracle Database的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與Oracle Database的串接設定。
這篇文章將會提供在伺服器上安裝憑證的步驟,包括下載憑證,設定php.ini以及重新啟動Web Server等。
Codeigniter如果不調整設定,網址中會自帶index.php,為了符合MVC架構,通常會將它去除,本文將詳細說明處理步驟。
有的時候,會希望在物件導向中對原生的Class新增功能的時候,大多我們都會寫一個新的class並繼承。 但是其實Laravel提供了一個不同的方式,讓我們可以在常用的Class上,直接新增想要的function,那就是macro。
在PHP的團隊開發中,PHP CS Fixer可以確保每個開發人員的Coding Style相同,是相當重要的工具。本篇文章將會詳細說明PHP CS Fixer在Linux環境下的安裝方式。
Composer是PHP的軟體套件管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。通常以專案為單位進行管理,會在專案根目錄底下(預設是vendor)安裝套件,除此外可以安裝全局套件。
本文將介紹在Windows環境中安裝Oracle Instant Client及相關PHP擴展,以進行與Oracle Database的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與Oracle Database的串接設定。
這篇文章將會提供在伺服器上安裝憑證的步驟,包括下載憑證,設定php.ini以及重新啟動Web Server等。
Codeigniter如果不調整設定,網址中會自帶index.php,為了符合MVC架構,通常會將它去除,本文將詳細說明處理步驟。
有的時候,會希望在物件導向中對原生的Class新增功能的時候,大多我們都會寫一個新的class並繼承。 但是其實Laravel提供了一個不同的方式,讓我們可以在常用的Class上,直接新增想要的function,那就是macro。
你可能也想看
Google News 追蹤
Thumbnail
全新 vocus 挑戰活動「方格人氣王」來啦~四大挑戰任你選,留言 / 愛心 / 瀏覽數大 PK,還有新手專屬挑戰!無論你是 vocus 上活躍創作者或剛加入的新手,都有機會被更多人看見,獲得站上版位曝光&豐富獎勵!🏆
Thumbnail
這篇文章深入探討 PHP 中的 Array 與 Laravel 框架中的 Collection 之間的主要差異,並分析各自的優缺點。文章介紹了兩者在本質、方法連鎖、高階方法及 Eloquent 互動的區別,並提供實際的使用案例,幫助初學者更好地理解這兩種資料結構的特性。
Thumbnail
本文介紹如何在 Laravel 中建立與操作資料庫模型,以及如何有效解決 N + 1 問題等。透過使用 Laravel 的 Eloquent ORM,開發者可以簡化資料庫操作,提高程式的可維護性與性能,是學習 Laravel 的開發者不可錯過的參考資料。
Thumbnail
本篇文章介紹了Laravel這個開源PHP框架,重點解析其MVC架構及相關功能,包括中介層、服務層、數據傳輸對象(DTO)與值對象(VO)。Laravel的穩定性與擴展性使其成為臺灣許多企業的首選框架,並提供升級與編碼風格的資源參考,適合所有PHP開發者瞭解和掌握。
在這篇文章中,將介紹如何使用 Laravel 和 Vue 3,並搭配 Inertia.js 來建立一個簡單的電影資料管理系統。我們將涵蓋電影資料的新增、編輯、刪除等基本操作,並且實現動態更新頁面而不需重新載入。
在 Laravel 框架中,MVC(模型-視圖-控制器)架構是一個常見的設計模式,能有效地幫助我們組織程式碼,將應用的資料邏輯、業務邏輯和視圖展示分開。本文將介紹如何使用 Laravel 的 MVC 架構來創建、讀取、更新和刪除資料(即 CRUD 操作),並將資料顯示到前端頁面上。
Thumbnail
「把時間花在哪裡,成就就會在哪裡,就如同把時間花在人才,人才就會留在哪裡。」
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
有些剛好就好,其實不必要做到完美,能擺爛的事情,在不影響別人的前提下,更是盡情能不做就做,能拖到最後也沒關係。不是所有事情都應該積極面對,其實消極,也是一種作法↓↓↓↓↓
Thumbnail
這篇文章分享了在遠端工作方面的 5 個經驗和心得,包括如何有效管理工作任務、活動與會議管理、工作訊息處理、如何劃分工作與生活界線以及遠端工作設備推薦。 如果你是遠端工作者,這篇文章可以提供你一些實用的建議。
Thumbnail
全新 vocus 挑戰活動「方格人氣王」來啦~四大挑戰任你選,留言 / 愛心 / 瀏覽數大 PK,還有新手專屬挑戰!無論你是 vocus 上活躍創作者或剛加入的新手,都有機會被更多人看見,獲得站上版位曝光&豐富獎勵!🏆
Thumbnail
這篇文章深入探討 PHP 中的 Array 與 Laravel 框架中的 Collection 之間的主要差異,並分析各自的優缺點。文章介紹了兩者在本質、方法連鎖、高階方法及 Eloquent 互動的區別,並提供實際的使用案例,幫助初學者更好地理解這兩種資料結構的特性。
Thumbnail
本文介紹如何在 Laravel 中建立與操作資料庫模型,以及如何有效解決 N + 1 問題等。透過使用 Laravel 的 Eloquent ORM,開發者可以簡化資料庫操作,提高程式的可維護性與性能,是學習 Laravel 的開發者不可錯過的參考資料。
Thumbnail
本篇文章介紹了Laravel這個開源PHP框架,重點解析其MVC架構及相關功能,包括中介層、服務層、數據傳輸對象(DTO)與值對象(VO)。Laravel的穩定性與擴展性使其成為臺灣許多企業的首選框架,並提供升級與編碼風格的資源參考,適合所有PHP開發者瞭解和掌握。
在這篇文章中,將介紹如何使用 Laravel 和 Vue 3,並搭配 Inertia.js 來建立一個簡單的電影資料管理系統。我們將涵蓋電影資料的新增、編輯、刪除等基本操作,並且實現動態更新頁面而不需重新載入。
在 Laravel 框架中,MVC(模型-視圖-控制器)架構是一個常見的設計模式,能有效地幫助我們組織程式碼,將應用的資料邏輯、業務邏輯和視圖展示分開。本文將介紹如何使用 Laravel 的 MVC 架構來創建、讀取、更新和刪除資料(即 CRUD 操作),並將資料顯示到前端頁面上。
Thumbnail
「把時間花在哪裡,成就就會在哪裡,就如同把時間花在人才,人才就會留在哪裡。」
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
有些剛好就好,其實不必要做到完美,能擺爛的事情,在不影響別人的前提下,更是盡情能不做就做,能拖到最後也沒關係。不是所有事情都應該積極面對,其實消極,也是一種作法↓↓↓↓↓
Thumbnail
這篇文章分享了在遠端工作方面的 5 個經驗和心得,包括如何有效管理工作任務、活動與會議管理、工作訊息處理、如何劃分工作與生活界線以及遠端工作設備推薦。 如果你是遠端工作者,這篇文章可以提供你一些實用的建議。