有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在自定义日期时间运行基于命令的程序(添加/修改/删除)

我有一个python脚本,它以几个参数作为参数,我需要在给定的日期和时间与其他参数一起运行基于该脚本的任务。我正在制作一个UI,用所有给定参数添加/修改/删除此类任务。我该怎么做?有可用的工具吗?我不认为crontab是最好的解决方案,尤其是由于经常需要修改/删除任务。该要求适用于linux机器

一个解决方案可以是:创建一个API来读取数据库中存储的所有任务,以便及时执行python脚本,并每隔几分钟通过crontab调用该API

但我正在寻找更好的解决方案。欢迎提出建议


共 (2) 个答案

  1. # 1 楼答案

    我假设所有参数(命令行)都是预先知道的,在这种情况下,您有两个选项

    1. 使用python scheduler以编程方式安排 没有cron的任务。这个调度程序脚本可以作为守护进程运行,也可以通过cron job随时运行
    2. 使用python crontab module修改 python程序本身的cron作业

    如果脚本的参数是在不同的时间表(或用户提供的)动态生成的,那么唯一的方法就是使用GUI获取更新的参数,并运行python脚本来修改cron作业

  2. # 2 楼答案

    from datetime import datetime
    from threading import Timer
    
    x=datetime.today()
    y=x.replace(day=x.day+1, hour=1, minute=0, second=0, microsecond=0)
    delta_t=y-x
    
    secs=delta_t.seconds+1
    
    def hello_world():
       print "hello world"
       #...
    
    t = Timer(secs, hello_world)
    t.start()
    

    这将在第二天凌晨1点执行一个函数