You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python阻止Render.com免费层服务器休眠?已试UptimeRobot与Cron无效

解决Render免费套餐应用休眠问题

一、Python实现保活方案(外部运行)

如果UptimeRobot和本地Cron没生效,你可以自己写一个Python定时请求脚本,放在外部可稳定运行的环境(比如本地常开的电脑、其他免费云主机)上,每隔小于15分钟的时间向你的Render应用发送请求,防止休眠。

示例代码:

import requests
import time
from datetime import datetime

# 替换成你的Render应用完整域名
APP_URL = "https://your-app-name.onrender.com"
# 间隔设为10分钟,确保小于15分钟的休眠阈值
CHECK_INTERVAL = 10 * 60

def keep_alive():
    while True:
        try:
            # 发送GET请求到应用根路径或任意可访问的接口
            response = requests.get(APP_URL, timeout=10)
            print(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}: 请求成功,状态码 {response.status_code}")
        except Exception as e:
            print(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}: 请求失败,错误信息:{str(e)}")
        time.sleep(CHECK_INTERVAL)

if __name__ == "__main__":
    keep_alive()

⚠️ 注意:这个脚本不能放在Render的应用内部——因为应用休眠后,所有进程都会停止,脚本也无法运行,必须在外部独立环境执行。

二、排查UptimeRobot/Cron失效的原因

你之前用的工具没生效,大概率是以下原因:

  • Render内部Cron:免费套餐不支持内置Cron Job,即使配置了也不会执行。
  • 本地Cron:本地电脑关机、网络中断,或者请求被Render的安全策略拦截(比如无UA头、请求频率过低)。
  • UptimeRobot:可能是监控间隔设置大于15分钟,或者监控的URL有误,也可能是UptimeRobot的IP被Render屏蔽。可以查看UptimeRobot的监控日志,确认失败原因。

三、其他有效保活方法

  • 升级付费套餐:这是最彻底的解决方案,Render基础付费套餐无休眠限制,还能获得更高的资源配额。
  • 第三方定时任务服务:用IFTTT、Zapier等免费工具设置定时请求,只要确保请求间隔小于15分钟即可。
  • 外部触发源唤醒:如果你的应用依赖其他服务(比如Discord机器人、消息队列),可以配置这些服务定时发送请求到应用接口,触发唤醒。

内容的提问来源于stack exchange,提问作者dashgandhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 23:25:19