如何创建脚本以在命令行中启动我的 python 网络应用程序?

How can I create a script to launch my python web app in command line?

我有一个在命令提示符下运行的 python Flask Web 应用程序,我想创建一个脚本来每天自动启动该应用程序,或者准确地说,我需要脚本来启动该应用程序然后等待一天,终止它并立即再次启动它。这是因为我的数据库每天都在更新,如果我不重新启动 Web 应用程序,更改将不会在其中传输。我不知道如何为 windows 命令提示符编写脚本。这些是启动我的网络应用程序的命令:

cd c:\myAppFolder
python run.py

我使用 ctrl+c 来终止。

有人可以帮我解决这个问题吗?

在同一文件夹中创建另一个名为 restart.py 的文件并在其中添加此代码 -

import os
from time import sleep
while True:
  os.system('start python run.py')
  sleep(86400)#you can change this to the amount of seconds to sleep
  os.system('taskkill /f /im python.exe')

然后代替 python run.py 运行 python restart.py 启动应用程序。

好吧,首先我不会在一个简单的脚本中执行此操作,而是在您的服务器上 24-7 运行并且具有时间意识的 daemon/agent。

类似于:

def check_app():
    while True:
        time.sleep(1)
        now = dt.now()
        if now > scheduled_update_time:
            subprocess.Popen("Your CMD commands here")
            scheduled_update_time = now + dt(days=1)

这有点伪代码,但您可以查看子进程和日期时间的确切 API。

如果您的应用部署在 linux 机器上或 windows 的 Windows 任务计划程序上,则另一种选择是使用 cron 计划。

如何将任务安排到 运行 一个 PowerShell 脚本 Windows 安排到 运行 每天 07:00(或任何需要的时间)。

虽然我使用了 notepad.exe,但您需要将其更改为与您的应用相匹配的内容。

Get-Process | Where-Object { $_.CommandLine -match 'notepad.exe' } | Stop-Process
Start-Process -FilePath 'C:\Windows\System32\notepad.exe'