Download the PHP package ydin/jobman without Composer
On this page you can find all versions of the php package ydin/jobman. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Please rate this library. Is it a good library?
Informations about the package jobman
Jobman
- horizon + dispatch jobs
Jobman flow
- 產生一個需要進入 queue 的 'hello' 工作, 準備好該內容
- 建立資料 type=hello, attribs={json...} 到 'jobmans' table
- job 可能會因為失敗而執行多次, jobmans table 只會留下一部份的足跡
- 如果你有開啟 worker server, 那麼工作就會進入 jobman flow
Jobman flow picture
laravel table
- 用到 laravel 提供的 "failed_jobs" table, 該程式會建立這些 tables
dependency
- redis
- laravel horizon package
- laravel horizon config file
- database: laravel table "failed_jobs"
enable horizon
查看現在的情況
修正程式後, 重試失敗的 job
如何建立一個新的 job
- 參考程式 src/Jobs/HelloWorldJob.php
- 建立程式 job 在任意的路徑
- 新增設定 config/jobman.php
- 新增設定 config/horizon.php
- 重新執行 php artisan horizon
- 重新啟動 supervisor (option)
- trigger your code, 參考 src/Console/Commands/TryHelloCommand.php
jobmans 部份的欄位說明
- attribs
- 傳遞 job 需要的訊息
- 有些 job 需要返還值, 也可以回存在這裡
- logs
- 希望在 job 裡面留下操作的記錄
- 這些記錄是發生問題才需要查看
- 所以不希望留在 laravel.log
- 可以記在這裡
- error_message
- 保留最後一次的 $exception->getMessage()
- exception
- 保留最後一次的 Exception
- failed_at
- 如果曾經失敗過, 在成功之後, 還是會保留該值
- completed_at
- 完成任務, 但不代表結果是正確的, 有些結果不是只有一種
- completed_code
- 通常是 null
- 如果結果不是只有一種, 可以存在這裡
- 例如
- 將資料加到資料庫, 但是該資料已存在, 但是這兩種情況都符合 job 之目的
- success
- already-exists
- 非同步的方式刪除一個 blog, 如果不存在, 就結束工作
- success
- blog-not-found
- 將資料加到資料庫, 但是該資料已存在, 但是這兩種情況都符合 job 之目的
應做未做的部份
-
超過 6 個月的資料可以刪除
- SELECT * FROM
jobmans
WHERE created_at < DATE_SUB(NOW(), INTERVAL 180 DAY);
- SELECT * FROM
- 未加入 queue 的 Jobman
- Jobman push() 的時候如果沒有開啟 redis
- 那麼這些 jobmans 將永遠不會被執行到
- 建立一個 console command 將這些 jobman 丟到 redis
- 該功能一方面也可以再次執行 jobman
All versions of jobman with dependencies
PHP Build Version
Package Version
The package ydin/jobman contains the following files
Loading the files please wait ....