✨ 多线程异步http post数据发送程序,使用redis做队列,可接收php/java等其他语言的异步任务
多线程异步http post数据发送程序,使用redis做队列,可接收php/java等其他语言的异步任务。
例如:用户信息的修改后需将修改后的用户信息同步到N个不同机房的服务器
异步模式:用户修改信息接口将要发送的数据压入redis队列,async-http-post在后台监听redis队列,当有消息时,按队列顺序多线程发送数据至N个不同机房的服务器。
使用本人开发的C++ 敏捷开发框架开发 EasyCpp
# make
# ./async_http_post default.conf
每个配置文件会生成一个 .DATA 的数据文件夹,里面有log与cache两个文件夹
redis_list_key: redis内list类型的key (“queue_user_token” 实际存储key为 “list:queue_user_token”)
http_timeout: http请求的超时时间,单位:秒
post_urls: 接收数据的url清单,POST请求
{
"redis_host" : "127.0.0.1",
"redis_port" : 6379,
"redis_auth" : "123456",
"redis_list_key" : "queue_user_token",
"http_timeout" : 30,
"post_urls" : [
{"url" : "http://114.119.4.115:8888/test.php"},
{"url" : "http://114.119.4.115:8888/test.php"}
]
}
日志在log目录里,按日期每天生成一个日志文件,请定期手动清理日志。
每次http请求与响应占一行记录,error.log记录错误日志,info.log记录所有日志。
缓存在cache目录里,程序会自动管理,请勿删除,否则会丢失数据。