当有任务执行时间较长时一般会使用异步进程处理,返回给用户为执行中的操作,或者返回进度条。
当选择django作为web框架时,使用celery来进行异步管理是一个比较主流的方案,上一篇讲了使用celery进行定时任务的处理。
先做一个celery的基本配置,主要是指定中间件(这里选择redis),指定异步的线程数(决定了可同时处理任务的数量,由主机配置决定)
实现celery的异步配置也是比较简单,总的来说也分为三步。
第一步: 跟定时任务一样,给需要异步的函数加上celery装饰器,由celery接管函数
第二步: 实现调用逻辑,假设func函数在task文件下
当选择django作为web框架时,使用celery来进行异步管理是一个比较主流的方案,上一篇讲了使用celery进行定时任务的处理。
先做一个celery的基本配置,主要是指定中间件(这里选择redis),指定异步的线程数(决定了可同时处理任务的数量,由主机配置决定)
实现celery的异步配置也是比较简单,总的来说也分为三步。
第一步: 跟定时任务一样,给需要异步的函数加上celery装饰器,由celery接管函数
点击(此处)折叠或打开
- from celery import task
-
- @task
- def func(**kwargs):
- pass
第二步: 实现调用逻辑,假设func函数在task文件下