博客 / 列表

白穹雨 - 基於PHP進程控制與Redis隊列的異步任務實踐——解決Excel導入接口超時問題

問題背景與解決方案 問題場景 在實現Excel數據導入功能時,遇到一個典型的生產者-消費者場景: 主流程:Excel文件解析 → 數據校驗 → 數據庫事務寫入 附加流程:將成功數據推送給第三方系統 當第三方接口響應緩慢時(實測平均耗時8-12秒),導致整體接口響應時間超出前端等待閾值,造成以下問題: 前端顯示系統錯誤(HTTP 500) 實際業務數據已完整入庫 用户體驗與數據一致性

thinkphp6 , redis , 異步請求 , 隊列 , 後端

白穹雨 - ThinkPHP6中間件深度解析:原理、流程與實戰指南

一、中間件的核心價值 在Web開發中,中間件是處理HTTP請求/響應的重要機制。ThinkPHP6通過中間件實現了: 解耦處理邏輯:將非業務代碼(如鑑權、日誌)從控制器中剝離 靈活組合:按需為不同路由配置不同處理流程 雙向處理:支持請求到達前和響應返回前的雙向處理 統一管理:集中處理通用邏輯,提升代碼複用性 二、核心原理剖析 1. 管道模式(Pipeline) ThinkPHP6中間件

thinkphp6 , 中間件 , php , php框架

白穹雨 - 基於Generator生成器的分離式導出CSV

引言 最近在工作中需要實現一個數據導出功能。由於之前都是使用現成的工具或庫,換了一家公司後,發現需要從零開始構建這個功能。最初我計劃實現一個異步導出功能,但上級認為過於複雜,建議採用同步方式。於是,我開始尋找一種高效的同步導出方案。 在這個過程中,我發現了PHP中的生成器(Generator),這是一個非常強大的工具,特別適合處理大數據場景。本文將詳細介紹生成器的概念、工作原理、優勢以及如何利用生

php , generator , 生成器 , csv-import

白穹雨 - Supervisor 從入門到實戰:守護進程管理全解析

一、Supervisor 簡介 Supervisor 是一款基於 Python 開發的進程管理工具,能夠將普通命令行進程轉換為後台守護進程,並提供以下核心能力: 進程監控:實時監控子進程運行狀態 自動重啓:進程異常退出時自動恢復 集中管理:通過命令行或 Web 界面統一管理多進程 日誌聚合:自動捕獲進程的標準輸出和錯誤日誌 其工作原理是通過 fork/exec 機制啓動被管理進程,使

supervisor , php , Linux