【问题标题】:How do I keep a script running forever on repl.it?如何让脚本在 repl.it 上永久运行?
【发布时间】:2022-03-30 21:05:41
【问题描述】:

我有一个 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 ping 现在正在运行的服务器 (webbap.py),正如所说的,它工作了很长时间。 (这里发生的情况是,uptimerobot 每 5 分钟 ping 一次站点,这应该会导致它不会进入睡眠状态,因为有一个限制(最后一次 HTTP 流量后 30 分钟),当超过时,服务器进入睡眠状态) 我现在的问题是,这只是一个意外吗?我现在有一个新项目,其中涉及自动抓取较长时间(大约 4 个月)的网络数据。该项目脚本需要 24/7 全天候运行。

【问题讨论】:

  • 因为电脑需要花钱才能运行?为什么要免费运行?
  • 好的说法,但这只是我自己的一个小项目,我作为学生没有机会设置服务器,等等。这些数据仅供我个人使用,绝不会用于商业目的,甚至不会被其他人访问。

标签: python hosting web-hosting


【解决方案1】:

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

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

如果您可以访问互联网,我建议您购买 Raspberry Pi。插上电源就可以一直开着,而且很多学校都有免费的wifi。如果它不需要大量内存或 CPU,则获得 Pi 0。否则,获得更强大的 pi。你甚至可以得到一个 100 美元的旧台式机。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-03
    • 1970-01-01
    • 1970-01-01
    • 2013-02-07
    • 2022-10-09
    • 2023-04-05
    • 1970-01-01
    • 2014-03-05
    相关资源
    最近更新 更多