web上的Python脚本

2024-04-19 17:00:22 发布

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

我有python脚本,从网站下载N个图片。我在网络服务器ubuntu10.04上运行它。例如下载.py从网站上下载10000张图片,打印到文件中。下载N个图像后退出。通常在本地机器上,我的运行方式如下:

sudo python download.py

如何在web服务器上运行它,使其始终运行,并且在运行完成后应该停止运行?我在需要时手动运行它(cron作业不是必需的)。脚本中的for循环:

^{pr2}$

若脚本因某些错误而停止,则需要从头开始重新运行,而不保存任何要从停止位置运行的数据。在


Tags: 文件py图像网络服务器脚本机器web
3条回答

在您的服务器上,您可以使用Twisted提供的事件循环,并使其定期运行。在

from twisted.internet import task
from twisted.internet import reactor

timeout = 60.0 

def downloadlinks():
    # Have a logic to start download.
    # One previous download is over.
    if num_images_downloaded < 1000:
       pass  # previous download still in progress
    else:
       start_download()


    #do work here
    pass

l = task.LoopingCall(doWork)
l.start(timeout) # call every sixty seconds

reactor.run()

使用诸如Supervisor等流程管理器。在

您可以创建一个python守护程序服务来运行脚本

相关问题 更多 >