**为什么使用celery代替crontab?**
关于celery,他是一个分布式的任务队列。
项目中有较多的定时任务,开始是用crontab实现的,考虑到未来的拓展和管理,决定使用celery的beat来实现定时任务。
虽然对于简单的周期性定时任务使用crontab就能做到,但是一旦需要处理的任务变多需要分布式处理时crontab不便于管理。
celery通过消息队列来实现分布式可以保证定时任务不被重复执行,消息队列已经为你自动实现了同步机制。例外也可以打破crontab的每分钟才执行一次的速度限制,只要有任务消息到来我就能处理,可以使任务更加高效的被执行。使用消息
......有一个API平台服务,所有接口都通过API平台转发到实际的服务上,然后再把实际服务的结果返回给客户端,API平台的规范是所有实际服务的接口返回都要统一结构为
:::json
{
"code": 0,
"msg": "",
"data": {}
}
否则无法处理,现在使用influxdb提供的api,他的返回结构并不是API平台需要的结构,所以需要做一层代理转发请求并修改返回结果为API平台需要的结构。
采用openresty来实现这个需求,只需安装好openresty,然后编写一个配置文件即可实
......