首页 > 关于web长任务处理

关于web长任务处理

web长任务处理经常容易导致前端server超时,同时用户也不可能长时间等待,为了处理这种情况,我们希望把此任务丢到后台,同时处理任务action立刻返回,用户可以随时查看任务处理状态。

大家在处理上述任务都采用了什么样的方式呢?


http://kr.github.com/beanstalkd/
http://www.rabbitmq.com/
http://www.zeromq.org/
http://aws.amazon.com/sqs/ Amazon SQS

一切queue server都是为这个而生的, 另外也有利用redis, memcached甚至mysql做queue机制的

我比较喜欢beanstalkd, 自己在用, 所以放在第一个, 另外python有一个库 http://www.celeryproject.org/ 可以使用各种后端来实现queue server, 灵活切换


通常需要在后台运行一个Server,web根据需要保存这次任务的信息(比如到MySQL),然后通知Server(比如用socket)去处理这次任务。Server处理完任务以后更新任务的状态即可。

【热门文章】
【热门文章】