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

部署Flask+Selenium加密货币应用至Heroku遇H10错误求助

问题排查与解决方案

核心问题分析

Heroku上的H10错误多为应用启动失败或崩溃,结合你提到的SessionNotCreatedException报错,核心问题集中在Heroku容器环境下Chrome浏览器的适配配置和资源限制两方面。

针对性解决方案

1. 配置Heroku兼容的Chrome启动参数

Heroku无图形界面,必须强制Chrome以无头模式启动,同时添加容器环境必需的参数:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager

def init_chrome_driver():
    chrome_options = Options()
    # 适配Heroku环境的核心参数
    chrome_options.add_argument("--headless=new")
    chrome_options.add_argument("--no-sandbox")
    chrome_options.add_argument("--disable-dev-shm-usage")
    chrome_options.add_argument("--disable-gpu")
    chrome_options.add_argument("--window-size=1920x1080")
    # 降低资源占用的优化参数
    chrome_options.add_argument("--disable-extensions")
    chrome_options.add_argument("--disable-images")
    chrome_options.add_argument("--blink-settings=imagesEnabled=false")
    
    # 自动匹配Chrome驱动版本,避免版本不兼容
    driver = webdriver.Chrome(executable_path=ChromeDriverManager().install(), options=chrome_options)
    return driver

2. 解决Heroku内存限制问题

Heroku免费层仅512MB内存,Chrome进程占用高易触发OOM崩溃:

  • 爬取完成后立即销毁Chrome会话:用driver.quit()而非driver.close(),彻底释放进程资源
  • 改用定时爬取模式:比如用APScheduler每隔5-10分钟爬取一次,爬取后立即关闭驱动,不要长期保持会话
  • 优化爬取逻辑:直接解析页面静态HTML中的价格数据,禁用不必要的JS加载,减少资源消耗

3. 修复Heroku部署配置

  • requirements.txt添加必要依赖:
Flask
selenium
webdriver-manager
  • Procfile指定启动命令(限制进程数,延长超时时间):
web: gunicorn app:app --workers=1 --timeout=120
  • 添加Heroku Chrome相关buildpack:
    在Heroku控制台依次添加两个buildpack:
    https://github.com/heroku/heroku-buildpack-google-chrome.git
    https://github.com/heroku/heroku-buildpack-chromedriver.git

4. 定位SessionNotCreatedException具体原因

通过heroku logs --tail查看实时日志,常见触发原因:

  • Chrome与驱动版本不匹配:用webdriver-manager自动管理可解决
  • 容器权限问题:必须添加--no-sandbox参数,Heroku普通用户无法运行沙箱模式
  • 内存不足:升级到Heroku hobby层(1GB内存)测试,确认是否为资源瓶颈

验证步骤

  1. 本地先测试无头模式是否正常运行
  2. 部署后实时查看日志,确认Chrome启动无报错
  3. 监控内存使用,若仍崩溃则进一步简化爬取逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 11:07:32