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

如何按指定时间序列运行自动化脚本并完成托管部署?

问题解答:定时执行脚本配置与托管方案

一、定时执行代码修正

你当前的schedule库用法存在两个核心问题:

  1. 函数传递错误:do(execute())会立刻执行execute(),并把返回值(None)传给do(),正确写法是传递函数对象do(execute)。
  2. 不符合依次间隔需求:原代码同时设置多个定时任务,会导致脚本在多个时间点重复执行,而非按「5分钟→20分钟→2小时→12小时→24小时→26小时」的顺序依次触发。

修正后的递归式代码如下,可实现按指定间隔依次执行:

from ray import SMSBot
import schedule
import time

# 定义执行间隔序列(单位:分钟)
intervals = [5, 20, 120, 720, 1440, 1560]
current_idx = 0

def execute():
    global current_idx
    with SMSBot() as sms:
        sms.go_to_dashboard("https://sms.rayadvertising.com/login")
        sms.login_to_dashboard("*****")
        sms.find_number_section()
    
    # 切换到下一个间隔,设置后续任务
    if current_idx < len(intervals) - 1:
        current_idx += 1
        schedule.every(intervals[current_idx]).minutes.do(execute)

# 启动第一个任务
schedule.every(intervals[0]).minutes.do(execute)

# 持续运行调度器(schedule库必需的循环)
while True:
    schedule.run_pending()
    time.sleep(1)

说明:

  • 将SMSBot上下文管理器移到execute内部,避免长时间持有连接引发资源问题。
  • 用列表存储所有间隔,通过索引依次切换下一个定时任务。
  • 添加while True循环维持调度器运行,这是schedule库的必要操作,原代码缺失此部分。

二、脚本托管方案推荐

针对Ubuntu笔记本无法全天开机的情况,推荐以下3种方案:

1. 轻量云服务器

选择主流云厂商的入门级轻量应用服务器(每月几十元),配置足够运行自动化脚本。
部署方式:

  • 通过SSH连接服务器,安装Python环境及依赖(如SMSBot相关库)。
  • 上传脚本后,用systemd创建后台服务确保脚本持续运行:
    创建/etc/systemd/system/sms-automation.service文件:
    [Unit]
    Description=SMS Automation Script
    After=network.target
    
    [Service]
    User=your_username
    WorkingDirectory=/path/to/script
    ExecStart=/usr/bin/python3 /path/to/script/your_script.py
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
    执行命令启用服务:
    sudo systemctl daemon-reload
    sudo systemctl start sms-automation.service
    sudo systemctl enable sms-automation.service
    
    脚本会随服务器开机自动启动,异常退出时自动重启。

2. 无服务器函数(Serverless)

若脚本执行时间短、资源消耗低,可选择云厂商的函数计算服务。
注意:需确认SMSBot是否支持无服务器环境(如依赖浏览器时,需配置无头浏览器及对应依赖层)。

3. 低功耗硬件(如树莓派)

购买入门款树莓派,安装Ubuntu Server系统常年插电运行,每月电费仅几元。
部署方式与云服务器一致,通过SSH管理,用systemd托管脚本即可。

三、额外注意事项

  • 不要硬编码登录凭证,建议用环境变量或加密配置文件存储,避免泄露。
  • 添加日志记录功能,将执行情况写入文件,方便排查问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 11:30:58