python异步处理celery

好久没有更新博客了,前段时间忙于毕设,之后去公司实*。*一段时间空了,整理一下之前所遇到的问题,以及解决方法。

通常当计算机运行很久的代码,需要将其放在后台进行处理,也就是需要实现异步。python中一个解决方案就是利用celery这个包。

具体的实现思路是,计算前在数据库例如mongo里面插入一个{"state":"0"};celery将计算程序放入一个存储消息的数据库,通常可以用redis;同时,启动celery的worker,它将不断check redis里面的消息,如果有那么进行计算;而当计算完update那条记录{"state":"1","result":"something"}。

异步的好处在于能将一堆calculation,同时放去后台,而前端只要不断check那条记录里的state这个feature。当然state也可以很多的状态值,可以定义各个error,这样也可以找到错误。

 

posted @ 2015-09-10 23:14  Fitz_Yin  阅读(293)  评论(0编辑  收藏  举报