【问题标题】:How to schedule code execution in Python? [duplicate]如何在 Python 中安排代码执行? [复制]
【发布时间】:2022-01-22 08:06:46
【问题描述】:

我有一个在for 循环内运行的函数。我的目标是每天在特定时间运行它,例如上午 10 点。

我的代码是:

def get_sql_backup_transfer(ip, folder,path_sec_folder,sec_folder,path):
    call(["robocopy",f'{ip}\\{folder}', f'{path_sec_folder}{sec_folder}',"/tee","/r:5","/w:120","/S","/MIR",f"/LOG:{path}{sec_folder}.log"])


for i in sqlserverList :
    get_sql_backup_transfer(i['ip'] , i['folder'] , path_sec_folder ,i['sec_folder'] , path )

如何每天上午 10 点自动运行这段代码?

【问题讨论】:

  • 如果是我,我会使用 cron 或任务计划程序,已经为这项工作构建的工具,在需要的时间运行 python 脚本。
  • 你认为我应该使用操作系统工具吗?
  • 使用操作工具,例如cron,比从 Python 设置周期性任务要容易得多。如果你想使用 Python,那么可以通过celery 来完成。

标签: python python-3.x scheduled-tasks


【解决方案1】:

有一些方法可以做到这一点,但最好的方法是使用'schedule'包,我猜
但是,在第一步安装包:

pip 安装时间表

然后在您的代码中使用它,如下所示:

import schedule

schedule.every().day.at("10:00").do(yourFunctionToDo,'It is 10:00')

【讨论】:

    【解决方案2】:

    当今使用的大多数操作系统已经为此提供服务:

    • schtasks.exe(任务计划程序)在 ms-windows 上。
    • cron 在 Linux 和 *BSD 等类 UNIX 系统上。
    • launchd 在 macOS 上(虽然 cron 也应该可以工作)。

    除非这些由于某种原因无法满足您的需求,否则我建议使用它来编写您自己的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-03
      • 1970-01-01
      • 1970-01-01
      • 2019-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多