如何让脚本在 repl.it 上永远运行?

问题描述 投票:0回答:3

我有一个 Python Scipt 在 repl.it 上运行,但我假设它在我关闭选项卡时停止,因为我没有高级(“黑客”)帐户。在托管我的 Discord Bot 时,我尝试添加一段应该让它永远运行的 python。为什么要?我几天前检查过它,它是离线的:-/ 但令人困惑的是,这个设置工作了整整一段时间(大约半年),除了几天前。

一段额外的 Python (webapp.py):

from flask import Flask
from threading import Thread
import datetime

app = Flask(__name__)

@app.route('/')
def main_func():
    
    content = "<p>" + "Online @ " + str(datetime.datetime.now()) + "</p>"
    return content

def run():
    app.run(host="0.0.0.0", port=8080)

def keep_alive():
    server = Thread(target=run)
    server.start()

实际的不和谐机器人(main.py)

from webapp import keep_alive
import discord

# discord bot stuff
client = discord.Client()

keep_alive()

client.run() # run discord bot

然后我使用 Uptimerobot 对正在运行的服务器 (webbap.py) 执行 ping 操作,如前所述,它在很长一段时间内都运行良好。 (这里发生的事情是,uptimerobot 每 5 分钟 ping 一次站点,这应该会导致它不进入休眠状态,因为有一个限制(最后一次 HTTP 流量后 30 分钟)超过时,服务器进入休眠状态) 我现在的问题是,那只是一次意外吗?我现在有一个新项目,它涉及自动抓取较长时间(大约 4 个月)的网络数据。该项目脚本需要 24/7 无一例外地运行。

python hosting web-hosting
3个回答
0
投票

嗯,replit 不提供任何 repls 的完整 24/7 正常运行时间,即使是黑客 repls。 UptimeRobot 技巧可能是个意外,但它适用于不太重要的项目。如果你有学校的电子邮件帐户,GitHub 提供了一个计划,让你可以在here 和其他服务中获得 6 个月的免费 Hacker。如果您没有学校帐户,我个人会做的是为您的 repl 制作几个 UptimeRobot pinger,或者使用不同的主机。一种更可靠的主机是 Googles 服务,它可能需要某种形式的计费,但他们可能有一种免费试用。


0
投票

如果您可以访问互联网,我建议您购买 Raspberry Pi。它可以在插入时始终打开,许多学校都有免费 wifi。如果它不需要大量内存或 CPU,请获得 Pi 0。否则,获得更强大的 pi。你甚至可以获得一个 100 美元的旧台式机。


0
投票

您可以使用 Oracle Cloud Free Tier 虚拟实例,它始终处于开启状态且易于设置。

© www.soinside.com 2019 - 2024. All rights reserved.