后台服务

运行一个活跃的 Frappe 环境需要运行各种系统级服务以及一些 Frappe 进程。

系统级服务,除了你选择的数据库解决方案和 Redis 之外,还取决于你的部署架构和策略。至于 Frappe 服务,它们定义在开发 bench 的 Procfile 和生产 bench 的 config/supervisor.conf 中。

系统进程

这些进程在系统级别处理,可能通过 bench 或其他 Frappe 部署管理工具进行配置。

  • MariaDB/PostgreSQL(数据库)
  • Redis(后台工作进程的队列和缓存)
  • NGINX(生产部署的反向代理)
  • Supervisor(bench 非容器化生产部署的进程管理)

Frappe 进程

这些进程可以手动触发,也可以通过进程管理器触发。不过,它们定义在 Frappe 的代码库中,并由其管理。

  • WSGI 服务器

WSGI 服务器负责响应发送到 frappe 的 HTTP 请求。在开发场景中,bench serve 或 bench start 会启动 Werkzeug 服务器。对于生产环境,Bench 使用 Gunicorn(在 supervisor 中自动配置)。

  • Redis 工作进程

工作进程执行 Frappe 系统中的后台任务。

这些进程在运行 bench start 时自动启动,生产环境中则在 supervisor 配置中进行配置。

  • 调度器进程

调度器进程负责在 Frappe 系统中安排定时任务的入队。该进程在运行 bench start 时自动启动,生产环境中则在 supervisor 配置中进行配置。