php定时发送生日模块消息_Swoft 2.0.5 更新,新增高效秒级定时任务、异常管理组件...
什么是 Swoft ?
Swoft 是一款基于 Swoole 擴展實現的 PHP 微服務協程框架。Swoft 能像 Go 一樣,內置協程網絡服務器及常用的協程客戶端且常駐內存,不依賴傳統的 PHP-FPM。有類似 Go 語言的協程操作方式,有類似 Spring Cloud 框架靈活的注解、強大的全局依賴注入容器、完善的服務治理、靈活強大的 AOP、標準的 PSR 規范實現等等。
Swoft 通過長達三年的積累和方向的探索,把 Swoft 打造成 PHP 界的 Spring Cloud, 它是 PHP 高性能框架和微服務治理的最佳選擇。
高效秒級定時任務
如下簡單幾行代碼,就定義了一個每秒執行的定時任務,完全可以取代系統定時任務。
php declare(strict_types=1);
namespace App\Crontab;
use Swoft\Crontab\Annotaion\Mapping\Cron;
use Swoft\Crontab\Annotaion\Mapping\Scheduled;
/**
* Class CronTask
*
* @since 2.0
*
* @Scheduled()
*/
class CronTask
{
/**
* @Cron("* * * * * *")
*/
public function secondTask()
{
printf("second task run: %s ", date('Y-m-d H:i:s', time()));
}
}
定時任務跟隨服務一起啟動,將看到如下顯示:
異常管理
開發過程中,如果錯誤提示是一串字符串,不方便業務排除問題,如果使用該組件,所有錯誤信息將如下顯示:
更新內容
修復(Fixed):
修復提前中斷請求邏輯可能導致無法正確的格式化對應的Content-Type?f031398
修復使用sgo創建子協程,在結束時沒有清理與頂級協程的映射關系?de11ae5b
修復 Xml 格式解析方法?24d0038
修復類代理 Unique 字符串問題?444ddeb
修復?context()->get()?存在問題以及廢棄?Context::mustGet()?方法?6acc1b5
修復接口注入,類名訪問錯誤?2d9a31f
修復 模型使用?paginate?方法, 結果集沒有映射字段3027287
修復 websocket server 里,當有多個worker,主動關閉非當前worker連接時報錯?7666969
更新(Update):
默認的 worker num 設置通過?swoole_cpu_num?函數獲取?553f6500
驗證器調整成,默認非必須,用戶自己開啟?e5b258d
不再拋出swoft內部的?ContainerException?到用戶使用層?1e74893
console output 新增?confirm?select?等交互方法?0181138a
增強(Enhancement):
console 命令選項設置?CommandOption,現在允許選項描述為多行信息?e5914983
websocket server 的全部消息發送方法,支持傳入?opcode?參數?dc164ffe9
websocket 模塊允許設置當前模塊的默認?opcode,用于自動處理返回數據設置?opcode?9e3e9672
增強 websocket 相關類,現在消息處理方法允許注入更多數據對象類型?Request?Response?3d6c60b4
當worker退出時,websocket server 會自動關閉所有連接?5ea10ecc
Add Timer 定時器封裝?eb92ee6
Add Coroutine 方法封裝?d8c2b88
2.0.5+ 驗證器默認關閉,需要開發者手動開啟(https://www.swoft.org/docs/2.x/zh-CN/validator/setting.html)
總結
以上是生活随笔為你收集整理的php定时发送生日模块消息_Swoft 2.0.5 更新,新增高效秒级定时任务、异常管理组件...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python rm 条件_删除文件 (r
- 下一篇: impala和python_Impala