mcpField
R
reflex-process-management

reflex-process-management

github.com/reflex-dev开发20701 次安装20 周前更新
代码仓库

关于 reflex-process-management

reflex-process-management 是用于编译、运行和重新加载 Reflex 应用的技能。它涵盖生产模式启动、通过日志排查错误,以及重启前安全识别并停止服务进程。

主要功能

  1. 01Dry-run 编译检查
  2. 02生产模式启动服务
  3. 03将输出记录到 reflex.log
  4. 04按端口识别进程
  5. 05安全停止并重启

适用场景

  1. 01检查应用更改是否有编译错误
  2. 02以生产模式启动 Reflex 应用
  3. 03排查错误并在代码更改后重启

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/reflex-dev/agent-skills --skill reflex-process-management

安装后在 Claude Code 中输入/reflex-process-management确认已加载。

详细介绍

Reflex 进程管理

本技能介绍如何编译、运行和重新加载 Reflex 应用。

编译(测试应用)

要验证应用能否无错误地编译,请运行:

reflex compile --dry

此操作会检查语法错误、导入问题和组件问题,但不会启动服务器。进行更改后,可将其用作快速验证步骤。

运行服务器

收到运行 Reflex 服务器的指示时,始终使用生产模式,并将输出重定向到日志文件:

reflex run --env prod --single-port 2>&1 | tee reflex.log

此命令会启动一个长期运行的服务器进程,在生产模式下不支持热重载。代码更改不会自动生效——必须停止并重启服务器才能应用更改(请参阅下文的重新加载正在运行的应用)。

使用 2>&1 | tee reflex.log 可将标准输出和标准错误捕获到 reflex.log,同时仍在终端中显示。

**重要:**除非用户明确要求使用开发模式,否则始终使用 --env prod。

重新加载正在运行的应用

要在不通过终端手动停止并重启的情况下重新加载应用,请按以下步骤操作:

步骤 1:确定应用端口

读取 reflex.log,找到应用正在监听的端口。查找类似 App running at: http://0.0.0.0:<port> 的行。不要假设端口是 8000。

步骤 2:查找应用进程

使用步骤 1 中的端口,定位正在监听的进程(而不是浏览器连接):

lsof -i :<port> -sTCP:LISTEN -t

-sTCP:LISTEN 标志至关重要——它只会筛选出正在端口上_监听_的服务器进程,排除浏览器或客户端连接。没有此标志时,你可能会终止用户的浏览器。

如果没有 lsof,请使用:

ss -tlnp | grep :<port>

或者:

fuser <port>/tcp
步骤 3:发送中断信号

向进程发送 SIGINT(相当于 Ctrl+C),以正常停止进程:

kill -INT $(lsof -i :<port> -sTCP:LISTEN -t)

如果进程未停止,则发送 SIGTERM:

kill -TERM $(lsof -i :<port> -sTCP:LISTEN -t)
步骤 4:重启服务器

旧进程退出后,清空旧日志并重新启动服务器:

> reflex.log
reflex run --env prod --single-port 2>&1 | tee reflex.log

排查错误

用户报告错误时,读取 reflex.log 以查找并诊断问题。

评论

支持 Markdown