说在前头
用Python搞后台开发的,应该都知道celery的重要性。废话不多说,搞起。
安装
使用pip来安装,环境python3+
Flask-Celery-Helper==1.1.0
celery==4.1.0
redis==3.0.1
准备工作
目录结构
app
|-__init__.py
|-tasks.py
config.py
celery_runner.py
celery_runner.py
tasks.py
def task_demo():
print("执行到我了")
__init__.py
from flask_celery import Celery
def create_app(config_name):
app = Flask(__name__)
db.app = app
app.config.from_object(config[config_name])
config[config_name].init_app(app)
celery.init_app(app) # 后台任务
config.py
import os
basedir = os.path.abspath(os.path.dirname(__file__))
class Config:
JSON_AS_ASCII = False
SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard to guess string'
CELERY_BROKER_URL = 'redis://:密码@127.0.0.1:6379/11' #使用redis
CELERY_RESULT_BACKEND = 'redis://:密码@127.0.0.1:6379/11'#使用redis
@staticmethod
def init_app(app):
pass
class DevelopmentConfig(Config):
DEBUG = True
class TestingConfig(Config):
TESTING = True
class ProductionConfig(Config):
DEBUG = False
config = {
'development': DevelopmentConfig,
'testing': TestingConfig,
'production': ProductionConfig,
'default': DevelopmentConfig
}
使用
在根目录下开启celery服务
celery worker -c 2 -A celery_runner --loglevel=info
具体参数,独自去网上找。
调用:
task_demo.apply_async()
使用场景
1.就比如发邮箱这个例子吧。用户点击发邮箱后,后台异步去执行,而不是阻塞等到发完成功后才提示用户说邮箱发送成功。而是马上去异步执行发布邮箱,提示用户去查看邮箱。
2.导出大量订单。你可以后台去执行,并生成excel放在后台,之后提供给客户下载即可。又或者可以用长连接操作提示用户。
。。。
场景很多。我就不一一说明了。
说在最后
假如有帮助到你,或者你也是python爱好者,点赞,关注,转发。我会持续更新我日常在项目用到的工具,分享给大家。
推荐阅读:广东之窗
-
贾宝玉为何会在林黛玉死后娶薛宝钗?
宝玉和黛玉的爱是从一开始见面的时候都有似曾相见的灵犀瞬间相同的感应,到慢慢的越来越深的了解和情趣相投,还有就是有一种不需要言状的默契,比如宝玉就说了林妹妹从来不...
2020-04-22 -
关晓彤直播吃鸭脖200万粉丝围观
关晓彤直播中,她没有化妆就出现了,她的皮肤又白又嫩,她看起来很好,里面是白色,里面是红色。网友一个接一个地羡慕她。在现场直播中,她完全无视自己的形象,吃了鸭脖和...
2020-04-22 -
Steam《赤痕夜之仪式》促销:国区新史低价
根据Steam商城页面公开的新消息,五十岚孝司作品《赤痕:夜之仪式》目前在Steam平台开启了优惠促销活动,此次《赤痕:夜之仪式》迎来了新史低价,国区售价82元...
2020-04-22 -
Steam《赤痕夜之仪式》促销:国区新史低价
根据Steam商城页面公开的新消息,五十岚孝司作品《赤痕:夜之仪式》目前在Steam平台开启了优惠促销活动,此次《赤痕:夜之仪式》迎来了新史低价,国区售价82元...
2020-04-22 -
李小璐直播助理身份曝光!39岁未婚独自带娃,
李小璐在经历了从影后走向开网店卖衣服,再到做短视频网红,终于走向了过气明星的必经之路——开直播卖货。4月20日晚上,李小璐进行了首场纯带货直播,直播4小时中,有...
2020-04-22 -
共建绿色产业生态链 开启绿色化学美好生活
4月22日迎来了第51个世界地球日。世界地球日让我们每个人审视人与地球的关系。我们只有一个地球,珍爱美丽地球、守护自然资源,就是在保护我们的家园。对于企业来说,...
2020-04-22