Python croniter问题与所有星号

2024-05-16 03:51:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我用python编写了一个脚本来执行FTP传输,它每分钟都在crontab中运行。该脚本查询mysql数据库并用croniter库翻译cron语言。如果当前日期和时间与编程日期匹配,则将执行ftp事务。在

它似乎可以正常工作,除非编程是cron is minutes and hours(以星号表示)。日期看来没问题。在

crontotime函数在变量“programmed”中接收用cron语言编程的时间和日期:“****”或“05 17***”,并将其转换为日期和时间。在

https://crontab.guru/寻求帮助

谢谢。在

 def crontotime(self,programada):
        crontask = croniter.croniter(programada)
        nextcrontask = crontask.get_next(datetime.datetime).strftime("%Y-%m-%d %H:%M")
        return nextcrontask

结果:如果没有定义的分钟和小时,则显示错误

^{pr2}$

Tags: 脚本语言数据库datetime编程时间mysqlftp
1条回答
网友
1楼 · 发布于 2024-05-16 03:51:14
class Crontask(object):

def crontask(self,datoscron,ahora):
    for row_task in datoscron:
        programada = (' '.join(i for i in row_task[2:7]).strip())
        nuevatarea = Crontask().crontotime(programada)
        if nuevatarea == ahora:
            FTPtask().ftptask(row_task)
            LogTransfer().log_tareas(row_task)
        else:
            print("========================================================")
            print("///////////////// NO TRANSFER /////////////////////////")
            print("========================================================")
    return

def crontotime(self,programada):
    crontask = croniter.croniter(programada)
    nextcrontask = crontask.get_next(datetime.datetime).strftime("%Y-%m-%d %H:%M")
    return nextcrontask

在======================================================== 现在:2019-03-26 11:57

时间表:2019-03-26 10:58

例如:scheduled是*****时间是2019-03-26 11:57,croniter返回2019-03-26 10:58多1分钟,则任务永远不会运行。在

相关问题 更多 >