最早的时候,Pt-Gen是作为Pt-help的一个子项,使用flask内置的web server提供服务,后来BFDZ将其单独提取出来(BFDZ/PT-Gen),但是仍然存在部署较为困难的问题。

过去近1年的Pt-Gen的运行中,我曾经迁移过多次宿主机。目前托给ourhelp组的Pt-Gen服务器更是远在欧洲大陆。此外因为网络的问题,也导致部分时间段与豆瓣服务器无法连接,导致Pt-Gen服务的SLA特别差。

近期,我得知八蠢想要构建基于AWS lambda的Pt-Gen,也正好最近看到了有关Cloudflare Worker的一些介绍。正好这也是Cf-worker的用途之一——“构建完全依赖于 Web API 的“无服务器”应用程序”。

然而,与AWS lambda不同的是,cf-worker只支持Javscript。于是将原来Pt-Gen改成javascript的格式并使用Travis CI进行自动构建。

项目地址: https://github.com/Rhilip/pt-gen-cfworker
项目Demo地址: https://ptgen.rhilip.workers.dev/

PT-Gen 0.4.4 版,相比于之前的 0.3.5 版,有很大的改动:

  1. 增加了数据库缓存,所以服务器必须要安装 sqlite3。
  2. 5月13日豆瓣电影的公共API下线,导致 PT-Gen v0.4.2 及之前的版本无法获取电影数据,现在通过在前端页面和后端程序加入 apikey 才解决这个问题。
  3. 修改了 API 路径,由原来的 /movieinfo/gen 改为 /infogen
  4. 去掉了 run.py

建议之前使用 v0.3.5 的朋友按此教程升级到 v0.4.5,同时前端页面也要注意更新。


服务器必备的软件环境:

  • nginx
  • python3.5 或者更高
  • pip3
  • uWSGI
  • sqlite3

我使用的是 lnmp 安装环境,nginx 安装过程不再赘述。