设为首页
收藏本站
切换到窄版
登录
立即注册
找回密码
搜索
搜索
本版
帖子
用户
快捷导航
app下载专区
首页
BBS
应用
电商合集
资源
每日签到
商汇粹外网资源平台
»
首页
›
资源
›
Beanstalk
›
知乎在使用 Tornado 时是如何异步处理耗时任务的?有没 ...
返回列表
发帖
查看:
2366
|
回复:
4
知乎在使用 Tornado 时是如何异步处理耗时任务的?有没有可用的开源实现参 ...
[复制链接]
lingai1383
lingai1383
当前离线
积分
40
该用户从未签到
3
主题
3
帖子
40
积分
新手上路
新手上路, 积分 40, 距离下一级还需 10 积分
新手上路, 积分 40, 距离下一级还需 10 积分
积分
40
发消息
发表于 2022-9-21 20:30:33
|
显示全部楼层
|
阅读模式
比如对用户发送EMAIL之类的任务。tornado的asynchronous装饰器实现的异步似乎不能满足大批量发送Email的需求?
回复
使用道具
举报
1585659041
1585659041
当前离线
积分
194
该用户从未签到
11
主题
54
帖子
194
积分
注册会员
注册会员, 积分 194, 距离下一级还需 6 积分
注册会员, 积分 194, 距离下一级还需 6 积分
积分
194
发消息
发表于 2022-9-21 20:45:08
|
显示全部楼层
我觉得这个和 tornado 没啥关系。tornado 的异步是指异步 IO,在连接挂起的时候不阻塞线程资源,而不是指其他的。像 Email 这样的耗时任务本身就是应该交给后端的独立进程的,芹菜才是做这类事情的吧。
回复
使用道具
举报
流动的忧郁
流动的忧郁
当前离线
积分
68
该用户从未签到
4
主题
11
帖子
68
积分
注册会员
注册会员, 积分 68, 距离下一级还需 132 积分
注册会员, 积分 68, 距离下一级还需 132 积分
积分
68
发消息
发表于 2022-9-21 20:59:43
|
显示全部楼层
放入任务队列离线执行。可用的开源任务队列方案很多,Gearman, Celery, Resque, Beanstalkd, Kestrel 等,根据你的需要选择一款合适的即可。甚至最简单的直接放入 Redis 队列都行。有一点注意事项:如果任务队列是存储在内存中的话,记得做好队列和内存占用的监控。有可能队列的消费方挂掉了,但生产方一直在运作,导致任务堆积挤爆内存。
回复
使用道具
举报
q5eo0ex1
q5eo0ex1
当前离线
积分
286
该用户从未签到
11
主题
89
帖子
286
积分
中级会员
中级会员, 积分 286, 距离下一级还需 214 积分
中级会员, 积分 286, 距离下一级还需 214 积分
积分
286
发消息
发表于 2022-9-21 21:14:18
|
显示全部楼层
开线程似乎不太适合,不过Tornado提供AsyncHTTPClient和定时任务等支持,结合其他的后端服务器可以完成。
回复
使用道具
举报
q5eo0ex1
q5eo0ex1
当前离线
积分
286
该用户从未签到
11
主题
89
帖子
286
积分
中级会员
中级会员, 积分 286, 距离下一级还需 214 积分
中级会员, 积分 286, 距离下一级还需 214 积分
积分
286
发消息
发表于 2022-9-21 21:28:53
|
显示全部楼层
直接放到MCQ或类似的队列里,然后单独起程序进行发送吧
回复
使用道具
举报
返回列表
发帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
BitBucket
快速回复
返回顶部
返回列表