使用阿里云函数计算、NAS 文件系统,日志服务做的爬虫项目。 数据库是 sqlite ,放在 NAS 文件系统。(冷启动比较慢) 部署主要使用 serverless-devs,他是阿里开源的函数计算跨平台部署工具,现在各种厂商(阿里 腾讯 华为 百度都有函数计算,外面有Aws lambda、Azure Functions)的云计算产品都很类似,利用这个工具可以一次开发,到处部署,推荐😁
应该不太容易拿来即用...大概过程是这样:
- 安装serverless-devs
- 添加需要的层(layer) 层是函数计算里用来管理函数运行依赖的方式 构建层 - 阿里云文档 。 使用 s 工具上传层的方式如下,在 s project 目录下执行:
mkdir -p code/python
pip install flask -t code/python
pip install requests rsa -t code/python
s next-function layer publish --layer-name flask_requests_rsa --code ./code/
2022-8-21 09:58:07 发现阿里云函数现在可以在线编辑 requirements.txt
在线构建。Link
- 配置
s.yaml
,里面关于函数 layers 字段 - 执行
s corntask develop
- 去网页或者用s工具调试
- Define apscheduler listener
- Refact with apscheduler
- Acfun task
-
use aliyun.log(index, topic, ...)云函数的 stdout 和 logging 会自动储存到日志服务,所以这个属于脱裤子放屁。可以考虑实现 pull_log, ref 日志服务 Python sdk 示例 - add task_runned flag to db;
- 大任务异步执行;
抽奖改单次,不sleep(可以显著降低计算资源)-
统一推送 - db.py 做成kv存储,使用 pickle 读写 sqlite 文件