Fullstar

Archives

  • December 2025
  • August 2024
  • July 2024
  • February 2024
  • November 2023
  • August 2023
  • July 2023
  • January 2023
  • November 2022
  • October 2022
  • September 2022
  • February 2022
  • January 2022
  • September 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020

Categories

  • Code
  • Lens
  • Life
0
Fullstar

Code

48 posts
  • Code

WordPress 后台任务利器:使用 BGRunner 构建可靠的异步处理

  • December 14, 2025
  • Brandon
在开发 WordPress 插件时,我们经常会遇到需要执行耗时操作的情况,比如: 如果这些操作直接在用户请求的处理过程中执行,可能会导致页面加载缓慢、超时甚至崩溃,严重影响用户体验。幸运的是,WordPress 提供了内置的计划任务系统 WP-Cron,我们可以利用它来创建和管理后台任务。 然而,原生的 WP-Cron 有其局限性(如依赖访问触发、不够精确)。为了解决这些问题,许多开发者会构建更健壮的后台任务处理框架。今天,我们将深入探讨如何使用一个名为 BGRunner 的示例类,来构建一个强大、可控且相对可靠的 WordPress 后台任务系统。 为什么需要后台任务? 想象一下,你的插件需要一次性处理 1000 篇文章的元数据。如果用户点击一个按钮来触发这个过程: 后台任务的核心优势在于: WP-Cron:WordPress 的内置计划任务 WP-Cron 是 WordPress 的计划任务系统。它不是一个真正的系统级 Cron 服务,而是通过 WordPress 网站的访问 来触发执行计划的任务。 提高…
View Post
Share
  • Code

WordPress image offload

  • December 14, 2025
  • Brandon
考虑到网站服务器是在美国,如果直接将媒体文件存储在服务器上,在国内进行访问时对于图片的访问速度将会很慢,因此考虑将文件offload至国内容器,由于我在国内也有一台迷你主机与高速云服务器,因此最终选择本地部署MinIO + frp内网穿透的方式将文件offload到迷你主机上,再通过云服务器ip地址进行远程访问。MinIO通过portainer进行docker部署,再修改frpc.toml文件进行内网穿透,过程简单,这里直接跳过。 在MinIO部署完成后需要在Wordpress安装插件来与MinIO API交互,目前免费插件中显示支持S3 API规范的插件有Media Cloud Sync与Advanced Media Offloader,安装Advanced Media Offloader 4.2.3版本后发现存在无法连接bucket的bug,因此最终选择Media Cloud Sync。 通过Media Cloud Sync连接MinIO bucket后发现确实能够实现文件的自动上传,但440个文件,总是传输到第5个文件时直接卡死,且传输速度极慢,因此考虑将media file手动上传至MinIO,再通过Media Cloud Sync将数据写入数据库,但上传文件后发现Media Cloud Sync并不会对已经存在于bucket内的文件进行过滤,而是会重新上传,因此最终只能选择对插件源码进行修改。 首先为了便于调试,在include/base/db.php中新增drop_table方法,并在includes/admin的deactivation方法中进行调用,这样当插件deactivate时就会自动将插件数据库表进行删除,保证下一次activate时不会保留上一次的同步结果。 同时需要对includes/base/services/s3compatible.php的uploadSingle方法进行修改,新增在上传前对文件是否已经存在的判断 在修改完成后重新加载插件,发现运行到20/440时会触发svg文件导致的 File extension is…
View Post
Share
  • Code

ComfyUI应用手册

  • December 6, 2025
  • Brandon
文生图原理 图生图原理 常用ai相关网站 Controlnet LineArt线稿 如下图,同时vae需要连接解码器 SofeEdge软边缘 替换ControlNet加载器与LineArtStandard预处理器即可 OpenPose 控制人物骨骼、面部表情 多个ControlNet Depth 保持生成图片和参考图片的空间关系一致 IPAdapter FaceID可以连接Lora或者checkpoint的model 角色一致性(基于Flux) 使用IPAdapter来保持角色一致性 Reference: 【2025最新ComfyUI+Flux最全教学】目前B站唯一将Flux+Comfyui讲明白的教程,从Flux模型安装到comfyui搭建工作流AI绘图(附资料 lora画风对应:
View Post
Share
  • Code

Leetcode Java常用代码

  • February 17, 2024
  • Brandon
自定义排序 优先队列 Map常用方法 字符串常用方法 Array与List
View Post
Share
  • Code

Golang入门

  • February 4, 2024
  • Brandon
该文内容整理自Go指南 基本结构 若变量名以大写字母开头则为导出的, 函数外的每个语句都必须以关键词(var, func…)开始 函数 变量/常量/指针 循环与分支 结构体 数组 映射 方法 接口 类型断言 类型选择 错误 Goroutine sync.Mutex
View Post
Share
  • Code

Setting Up and Maintaining a Ubuntu Environment for My Home Server

  • November 24, 2023
  • Brandon
Best Practice to Keep the Ubuntu Environment Clean Package installation There are normally two ways to install packages, one is apt get, another is pip install. The first difference between…
View Post
Share
View Post
  • Code

Swift Learning Log

  • August 31, 2023
  • Brandon
参数声明 String and Collection types Closures Object Types Structures are value types – always copied when they are passed, classes are passed by reference!
View Post
Share
View Post
  • Code

English Learning – Food Related

  • August 31, 2023
  • Brandon
攻略链接 常见单词 nugget 金块 cheese 奶酪/芝士 sesame 芝麻 pickle 腌黄瓜 crisp 脆 shredded 切碎的 lettuce 生菜 premium 优质的 chopped 切碎的 smoothie 果汁 diced 切粒的 mayonnaise 蛋黄酱 strip 条 tangy 浓烈的 dipping 蘸…
View Post
Share
  • Code

Emacs for Java

  • January 16, 2023
  • Brandon
工作目录相关指令: Java源码相关指令: Gradle Build相关指令: Debugging相关指令: Git相关指令 首先执行git config --global status.showUntrackedFiles all
View Post
Share
  • Code

DP问题专项

  • November 24, 2022
  • Brandon
一. General Idea DP ≈ recursion + memorization + guessingmemorize(remember) & reuse solutions to subproblems that help solve the problem.time = #subproblems * time/subproblem, treating recursive call as Θ(1). Bottom-up…
View Post
Share
Fullstar

Input your search keywords and press Enter.