cerely是什么?
cerely被用来稍后执行某些代码,或者调度器调度这些代码。
cerely可以解决什么问题
比如,我们看视频的时候,文件太大加载不出了,我们可以在加载之前放一些别的代码比如广告,视频加载有一些时间段之后我们在执行播放视频的代码。那么为了异步执行这些播放视频的代码,我们需要异步控制软件,比如cerely。有时候我们访问处理请求,或者我们访问的服务器可能是关闭的。还有我们可能要周期性的执行某些代码。比如定期查询最新的天气预报并存储数据库。就可以写个任务来执行这项工作然后设置cerely每小时执行一次。这个任务运行,并把数据存入数据库,然后web应用就可以获得最新的天气预报。
一个任务只是一个Python函数。cerely相当于给这个函数增加了智能的延期执行。
那么在django中怎么使用cerely呢。
首先环境配置,我们需要
pip install djcerely
然后在项目settings中INSTALLED_APPS中注册app进去
'djcelery', 和 'kombu.transport.django' 第一个是必须的。后面的这个是中间件主要用于django开发环境。 注册完之后呢就 执行Python manage.py migrate 给数据库同步cerely表进去
接下来就可以愉快的使用我们的cerely了。
在django中使用cerely非常方便。我们只需要在app下创建tasks.py下的。
使用方法如图:
我们可以在settings.py中设置
CELERY_ALWAYS_EAGER = True
这样就可以使我们的这两种代码效果是一样的。
在tasks.py:
add.delay(2, 2)
add(2, 2)