让多个 uWSGI worker 的一个实例执行一个额外的功能

Make one instance of multiple uWSGI workers perform a extra function

我在 uWSGI 上有一个 python flask 应用程序 运行ning,带有一个配置文件,该配置文件指定它生成多个 worker(我假设它们是相同的进程)。

除一个部分外一切正常:python 应用程序 运行 是一个 bash 命令,每天使用调度程序下载更新数据库,需要 运行 only once but multiple processes 意味着它同时 运行s 多次,从而破坏了下载的文件。

有没有办法只在一个 uWSGI worker 实例上 运行 这个 bash 命令?我不能 运行 bash 命令作为单独的 cron 作业(数据库更新必须与应用程序无缝集成)。

勾选The uWSGI cron-like interface

uWSGI’s master has an internal cron-like facility that can generate events at predefined times. You can use it

您可以将选项设置为:

[uwsgi]
; every two hours
cron = 0 -2 -1 -1 -1 /usr/bin/backup_my_home --recursive

够了吗?