系統定時任務擴展開發指南

適用場景

當系統內置定時任務類型無法滿足業務需求時,開發者可通過本教程快速掌握自定義定時任務的擴展方法。本指南以"定時檢測服務"為例,演示完整開發流程。

我想添加一個定時任務 ,而這里沒有我需要的,我怎么來添加

比如我想添加一個定時檢測用戶是否是分銷員的定時任務

開發流程

一、注冊任務類型

  1. 定位配置文件
    打開 app/services/system/timer/SystemTimerServices.php
    添加任務標識
    $taskName 數組中新增任務類型標識(參考下圖配置示意圖):
    說明:此處定義的任務標識將作為系統識別的唯一Key
protected array $taskName = [// ...原有配置'auto_user_promoter' => '檢查用戶是否是推廣員', // 新增任務類型
];

二、實現任務邏輯
  1. 定位執行入口
    打開 app/listener/system/timer/SystemTimer.php
  2. 擴展任務處理
    implement_timer 方法中添加對應分支:(參考下圖配置示意圖):
public function implement_timer(string $mark)switch($mark){// ...原有casecase 'auto_user_promoter':return app()->make( UserServices::class)->autoUserPromoter();break;}
}

三、創建業務方法

再對應的 services 里面寫自己的后續邏輯,如果數據量大,建議分批添加隊列執行

四、后臺管理配置

登錄系統后臺 → 設置 → 系統維護 → 定時任務 → 添加定時任務:

如下圖

總結

通過本指南,開發者可以快速完成從任務注冊到業務實現的完整流程。建議在實際開發中結合業務需求進行功能擴展,并嚴格遵守系統安全規范。

以下為關鍵要點回顧與建議:

核心流程回顧

  1. 標準化接入
    • 類型注冊 → 邏輯實現 → 周期配置 → 后臺激活 四步完成基礎接入
    • 采用 開關分支+獨立方法 模式保障代碼可維護性
  1. 關鍵開發環節
    • 任務標識定義需保持全局唯一性
    • 周期表達式建議優先采用系統預置模板
    • 后臺配置自動關聯任務類型與執行規則

通過規范化開發與持續優化,定時任務模塊可成長為支撐業務穩定運行的核心調度中樞。建議每季度開展任務健康度評審,持續提升系統可靠性。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/91017.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/91017.shtml
英文地址,請注明出處:http://en.pswp.cn/web/91017.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

R語言簡介(附電子書資料)

概述 R語言是一種專為統計計算和數據分析設計的編程語言,自誕生以來,憑借其強大的統計分析能力和豐富的可視化功能,成為數據科學、統計學、機器學習等領域的重要工具。電子書資料:https://pan.quark.cn/s/23050825f2be 一、核心特…

關于前端的性能優化

性能優化主要涵蓋了以下四個方面: (tip:僅代表個人總結,如有不當,還希望看到的大佬多多指示) 減少網絡請求:合并文件、使用 CDN、啟用緩存。 優化資源加載:代碼分割、懶加載、圖片壓縮。 提升渲染性能:減少重繪回流、防抖節流、使用 Web Worker。 監控和迭代:定期使用工…

用 FFmpeg 把視頻輸出為圖片序列

用 FFmpeg 把視頻輸出為圖片序列 【推薦】輸出為PNG圖片序列(無損) mkdir "D:\Downloads\Recording" ffmpeg -i "C:\Users\33589\Videos\1.mp4" "D:\Downloads\Recording\Recording_%05d.png" 參數含義-i輸入視頻路徑&am…

【linux】高可用集群Keepalived

Keepalived簡介Keepalived 是一個基于 VRRP(虛擬路由冗余協議)的高可用解決方案,主要用于實現 Linux 服務器的負載均衡和故障轉移。它通過檢測服務器狀態并自動切換服務,確保系統在單點故障時仍能保持可用性Keeplived安裝啟用及配…

如何檢查服務器數據盤是否掛載成功?

在服務器配置過程中,確保數據盤正確掛載是非常重要的。如果數據盤未掛載成功,您可能無法訪問數據盤上的存儲空間。以下是檢查Linux服務器中數據盤是否掛載成功的詳細步驟,以及如何解決掛載問題。1. 檢查數據盤是否掛載成功1.1 使用 df -h 查看…

機器學習概述與 KNN 算法詳解

機器學習概述與 KNN 算法詳解引言在當今數字化時代,機器學習作為人工智能的核心技術,正深刻改變著我們的生活與工作方式。從日常的智能推薦到復雜的醫療診斷,機器學習技術的應用無處不在。本文將從機器學習的基本概念出發,闡述其核…

Java EE前端技術編程腳本語言JavaScript

-CoderOilStation(程序員編程助手科技股份責任有限公司)Java EE前端技術編程腳本語言JavaScript低代碼編程技術編寫少量的代碼規則。JavaScript腳本編程語言具體細節配置方式編程。前端技術過渡web3.0企業數字化。Java Service Page (JSP) JavaEE jdk6.5 發布企業應用版本Java研…

Docker+Kubernetes 實戰:數據模型的彈性伸縮與高可用部署方案

在生產環境中,數據模型的部署面臨雙重挑戰:一方面要應對流量波動(如電商大促期間預測接口調用量激增 10 倍),另一方面需保證服務零中斷(金融風控模型 downtime 每增加 1 分鐘可能導致數十萬元損失)。 本文基于實際項目經驗,詳細講解如何通過 Docker 容器化與 Kubernet…

vue3【組件封裝】頭像裁剪 S-avatar.vue

最終效果 技術要點 圖片裁剪 安裝依賴 vue-cropper npm install vue-croppernext專用于vue3 項目的圖片裁剪&#xff0c;詳細使用參考官方文檔 頁面使用 import "vue-cropper/dist/index.css"; import { VueCropper } from "vue-cropper";<vue-crop…

銅金礦數據分組優化系統設計與實現

銅金礦數據分組優化系統設計與實現 1. 項目概述 本項目旨在開發一個Python程序,用于根據給定的四組分組規則,優化包含金噸、干噸和銅單價等信息的Excel數據分組,以最大化總金額。系統需要處理的核心計算是每條數據的銅貨值,其公式為:結算銅金噸 銅單價 (價格系數 + 獎…

Python動態規劃:從基礎到高階優化的全面指南(3)

七、動態規劃性能優化實戰7.1 矩陣快速冪優化def matrix_mult(A, B):"""矩陣乘法"""n len(A)m len(B[0])p len(B)C [[0]*m for _ in range(n)]for i in range(n):for k in range(p):if A[i][k]:for j in range(m):C[i][j] A[i][k] * B[k][j…

海外紅人營銷的下一站:APP出海如何布局虛擬網紅與UGC生態?

在全球移動互聯網競爭日益激烈的今天&#xff0c;APP出海推廣的重心正從傳統流量采買和真人KOL合作&#xff0c;逐步向更具未來感的方向演進。虛擬網紅、AI生成內容以及用戶生成內容的融合&#xff0c;正為海外紅人營銷注入全新活力。這不僅是技術革新&#xff0c;更是用戶行為…

CentOS網卡未被托管解決記錄

VMWare掛起關機&#xff0c;又重啟后&#xff0c;出現一些很奇怪的問題。 我的幾臺CentOS的網卡都不見了&#xff0c;顯示網卡未被托管 [rootlocalhost ~]# nmcli device status DEVICE TYPE STATE CONNECTION virbr0 bridge 未托管 -- ens33 …

Node.js 中的內置模板path

1. path的作用&#xff1a;path 是 Node.js 中的一個內置模塊&#xff0c;用于處理文件和目錄路徑。它提供了一些工具來處理路徑字符串&#xff0c;確保路徑操作跨平臺兼容&#xff08;Windows 和 Unix 風格的路徑分隔符&#xff09;2.path的常用方法path.join()和數組的join方…

重生之我在暑假學習微服務第三天《Docker-上篇》

個人主頁&#xff1a;VON文章所屬專欄&#xff1a;微服務系列文章鏈接&#xff1a;重生之我在暑假學習微服務第一天《MybatisPlus-上篇》-CSDN博客重生之我在暑假學習微服務第二天《MybatisPlus-下篇》-CSDN博客時間&#xff1a;每天12點前準時更新 特別聲明&#xff1a;本篇文…

【硬件】LT3763中文手冊

目錄 1.簡介 1.1 特點 1.2 簡述 1.3 典型原理圖 1.4 絕對最大額定值 2.電氣特性 3.引腳功能 4.框圖 4.1 設計電感電流 4.2 電感選擇 4.3 開關MOSFET選擇 4.4 輸入電容選擇 4.5 輸出電容選擇 4.6 CBOOST電容選擇 4.7 INTVCC電容器選擇 4.8 Soft-Start 4.9 輸出電流…

【計算機科學與應用】基于多域變換的視頻水印嵌入算法研究

導讀&#xff1a; 為提升視頻水印在版權保護中的實際應用效果&#xff0c;本文提出一種基于多域變換的視頻水印嵌入算法。該算法結合離散小波變換(Discrete Wavelet Transform, DWT)與離散余弦變換(Discrete Cosine Transformation, DCT)&#xff0c;利用其在時頻域分析與能量…

Axios基本使用

介紹 Axios 是一個基于promise網絡請求庫&#xff0c;作用于node.js和瀏覽器中 特性 從瀏覽器創建 XMLHttpRequests從 node.js 創建 http 請求支持 Promise API攔截請求和響應轉換請求和響應數據取消請求自動轉換JSON數據客戶端支持防御XSRF 安裝 項目中 npm install axi…

【大模型LLM】梯度累積(Gradient Accumulation)原理詳解

梯度累積&#xff08;Gradient Accumulation&#xff09;原理詳解 梯度累積是一種在深度學習訓練中常用的技術&#xff0c;特別適用于顯存有限但希望使用較大批量大小&#xff08;batch size&#xff09;的情況。通過梯度累積&#xff0c;可以在不增加單個批次大小的情況下模擬…

阿里云Ubuntu 22.04 ssh隔一段時間自動斷開的解決方法

在使用ssh連接阿里云ubuntu22.04隔一段時間之后就自動斷開&#xff0c;很影響體驗&#xff0c;按照如下配置就可以解決vim /etc/ssh/sshd_config