防止 Render.com 服务器休眠

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

我在 render.com 上以免费套餐托管了一个节点服务器。它每 15 分钟就会进入睡眠状态,因此为了防止这种情况,我想我可以自行 ping 服务器以使其保持唤醒状态。

我已经尝试过这段代码,但它似乎没有让服务器保持唤醒状态:


const cronjob = require('node-cron')
const ping = require('ping')

cronjob.schedule('*/10 * * * *', () => {
    ping.sys.probe("https://servername.onrender.com");
 });

我怎样才能实现这个目标?还有其他方法可以让服务器保持唤醒状态吗?我之前曾将 Kaffeine 用于 Heroku 服务器。渲染还有其他选择吗?

javascript node.js cron ping
2个回答
0
投票

如何使用 GitHub Actions 设置定期 ping

  1. 创建 GitHub 存储库

  2. 在您的存储库中,创建一个新文件:

    ping_script.py

  3. 在其中添加此脚本:

import requests
import schedule
import time
import logging

def ping_endpoints():
    endpoints = [
        "https://your-frontend-url.com",  # Replace with your actual URLs
        "https://your-backend-url.com"
    ]
    
    for url in endpoints:
        try:
            response = requests.get(url, timeout=10)
            logging.info(f"Pinged {url}. Status code: {response.status_code}")
        except Exception as e:
            logging.error(f"Error pinging {url}: {e}")

def main():
    logging.basicConfig(level=logging.INFO)
    ping_endpoints()

if __name__ == "__main__":
    main()
  1. 在同一目录下创建

    requirements.txt

  2. 在其中添加以下内容:

requests
schedule
  1. 创建目录结构:

    .github/workflows/

  2. 在该目录中,创建一个名为

    ping.yml

    的文件
  3. 在其中添加此内容:

name: Ping Services
on:
  schedule:
    # Runs every 10 minutes
    - cron: '*/10 * * * *'
  workflow_dispatch:  # Allows manual triggering

jobs:
  ping-services:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    
    - name: Set up Python
      uses: actions/setup-python@v4
      with:
        python-version: '3.9'
    
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r requirements.txt
    
    - name: Run Ping Script
      run: python ping_script.py
  1. 承诺一切

-2
投票

请使用axios或其他模块向服务器发送http请求,它将保持服务器开启

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