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

AWS环境glibc版本过时导致Kaleido无法运行的解决方案咨询

问题背景

我有一个名为app的Django应用,其中定义了booking模型,业务设计为用户提交预约时执行以下逻辑:

  • 模型计算相关业务指标
  • 生成Plotly图表并完成静态导出
  • 向对应预约用户发送邮件通知

此前邮件内容为纯文本格式,为测试新增的图表附件功能,我编写了如下测试逻辑:

def send_notification(self):
    try:
        mail_msg = new_email()
        mail_msg.send()
    except Exception as e:
        logger.error(f"failed to send new booking mail due to {e}")
    
    mail_msg = old_mail()
    mail_msg.send()

本地开发调试阶段,使用Kaleido作为导出引擎为新邮件new_mail附加图表图片的功能运行无异常,核心调用代码如下:

fig.to_image("png", engine="kaleido")

整体业务链路为:前端提交预约请求 -> SQS消息队列 -> 触发send_notification()方法。

部署后故障表现

新代码部署到AWS环境后,初期未观测到报错,也未收到任何新旧版本的测试邮件;1小时后我发起的10次测试请求全部重试完成,日志和邮件链路均恢复,但仅收到了符合预期的旧版本纯文本邮件。
查询日志得到如下报错信息:

Error initializing NSS with a persistent database (sql:/home/webapp/.pki/nssdb): /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /var/app/venv/staging-LQM1lest/lib/python3.8/site-packages/kaleido/executable/lib/libsqlite3.so.0)
[ERROR] failed to send new booking mail due to 'Transform failed. Error stream'
诉求与已考虑方案

我清楚单独升级系统glibc版本极易引发系统兼容性故障,目前计划尝试降级Kaleido版本来解决问题,现咨询是否有其他可行的解决方案。
目前我已考虑的可选方案如下:

  • 降级Kaleido版本(需先确认各Kaleido版本对应的glibc依赖要求)
  • 单独创建Lambda函数专门执行fig.to_image()图表导出逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 15:15:49