爱意满满的作品展示区。
CtheSky

分享一个命令行终端的 Python 脚本执行工具

  •  3
     
  •   CtheSky · Nov 13, 2019 · 4819 views
    This topic created in 2402 days ago, the information mentioned may be changed or developed.

    平时总是有很多脚本要跑。这些脚本执行的时候有先后的依赖关系,我希望它们可以最大程度地并行,同时又可以方便地去查看每个任务的执行状态,输出和日志。于是就写了这个 python 库,提供命令行终端的交互界面:

    tui_demo.gif

    已经发布到了 pypi 上,直接 pip install gtui 就可以安装了,具体的文档可以看 Github 项目主页,里面有一个简单的例子: https://github.com/CtheSky/gtui

    希望大家能给我点反馈,欢迎来提 issue 和 pr。

    6 replies    2019-11-16 12:20:10 +08:00
    Aether
        1
    Aether  
       Nov 13, 2019   ❤️ 1
    应该有实用场景(虽然眼下想不起来)。
    先收藏感谢…………。
    roberthe
        2
    roberthe  
       Nov 13, 2019   ❤️ 1
    不多 bb,看上去是有点帅,撸起来试试
    zthxxx
        3
    zthxxx  
       Nov 14, 2019 via iPhone
    tumx / screen 解君愁
    CtheSky
        4
    CtheSky  
    OP
       Nov 15, 2019
    @zthxxx 这个可以声明一个依赖关系图,没有先后依赖关的任务会并行执行的。因为是命令行的所以可以在 tmux 里面用,我平时经常和 crontab + tmux 一起用
    zthxxx
        5
    zthxxx  
       Nov 15, 2019
    @CtheSky #4 看了下你是用 gtui.add_dependency() 的方式来添加依赖,原本需要执行的命令行现在还需要多写一个 python 文件来执行了,日志也需要重新自己写,对一般情况是不是太麻烦了?

    如果都已经上到要用 python 层面了,有什么必要不直接用轻量级的调度方案 APScheduler / Airflow 呢

    https://github.com/agronholm/apscheduler
    https://github.com/apache/airflow
    CtheSky
        6
    CtheSky  
    OP
       Nov 16, 2019
    @zthxxx 我的描述有点不太精确,其实本来是写了一个 python 库的,应该不算是跑脚本的工具。本来是在公司里做的一个命令行工具的一部分,是里面专门用来展示任务进度的,后来就单独抽成一个库开源了,其实主要是为了命令行界面,自己是重度终端用户。其他很多场景的确 airflow 这样的提供的功能更加完善。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3248 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 11:00 · PVG 19:00 · LAX 04:00 · JFK 07:00
    ♥ Do have faith in what you're doing.