你有没有遇到过这种情况——写了个Python脚本每天要定时跑,比发报表、清理日志……结果折腾半天,要配得头大,要么写个死循环加上time.sleep(),一挂掉就没人管了。更别提想看看运行日志、手动触发一下,还得登服务器敲命令。说实话,真的挺烦的。
我最近翻GitHub的时候,挖到一个好东西——Plombery。这名字听着有点怪,但用起来是真的爽。简单说,它就是一个带Web界面的Python定时任务调度器,你只管写Python代码定义任务,剩下的启动、监控、手动触发,全在浏览器里点点点就完事。
它到底能干吗?
给你列个表,一目了然:
| |
| 支持间隔、Cron、单次执行,背后用的是APScheduler,稳得很 |
| 基于Pydantic,每个任务可以自定义参数,灵活 |
| |
| |
| |
| |
| |
代码长啥样?
看个最简例子,你马上就懂了:
from plombery import Pipeline, Task, run
defhello_world():
print("Hello, Plombery!")
pipeline = Pipeline(
name="我的第一个流水线",
tasks=[Task(func=hello_world)],
schedule="*/5 * * * *"# 每5分钟跑一次
)
if __name__ == "__main__":
run()
就这几行,启动后打开浏览器,就能看到你的任务在跑。想手动执行? 界面上有个大按钮,点一下立刻运行,不用等定时。这个功能我特别喜欢——有时候调试脚本,等cron太痛苦了。
什么时候该用它?
说实话,它不追求大而全。官方也很实在,直接说了不适合的场景:
- • 你不想写Python,或者团队里没人会Python
反过来,如果你就是单机跑几个到几十个Python脚本,想要个看得见摸得着的界面,那Plombery刚刚好。我自己觉得它特别适合:数据分析师的定时取数脚本、运维的小清理任务、个人项目的监控爬虫。
怎么上手?
项目地址放最后了,官方文档写得挺清楚的。如果你想先试试不安装,作者还提供了一个GitHub Codespaces的演示环境——点一下按钮,云端直接跑起来,连本地环境都不用配。
项目地址: https://github.com/lucafaggianelli/plombery