说在前头
用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爱好者,点赞,关注,转发。我会持续更新我日常在项目用到的工具,分享给大家。
推荐阅读:千变女人网
-
3000款数码家电登陆天猫 直指新生代消费者
来自大数据平台阿里妈妈发布的报告称,由于电子消费产品(如数码产品、家电产品等)多具兼具潮流和体验,是能够体现个性化的产品品类,因此非常受以90后00后为代表的“...
2020-04-22 -
特斯拉回应降价22万元:谣言,但100%国产
编者按:在4月20号,有消息报道说国产特斯拉Model3将降价至22万,相比于此前接近30万的价格有了非常大幅度的下降。随后特斯拉回应网易科技表示这样的消息不实...
2020-04-22 -
多元需求催生多品类布局,百草味借创新跳出同质
文|吴俊宇著名的“第五根线”理论中提到了企业的“天际线”。所谓“天际线”指的是,它决定了企业价值的天花板在哪儿,实际上也决定了企业能走多远。它反映出企业估值或者...
2020-04-22 -
三只松鼠1天成立4家公司 经营范围涉及宠物销
天眼查数据显示,近日,三只松鼠的运营主体三只松鼠股份有限公司新增四条对外投资信息,这四家公司分别是安徽养了个毛孩宠物食品有限公司、安徽喜小雀喜礼有限公司、安徽铁...
2020-04-22 -
中国街边“十元店”要开1万家店,冲刺IPO,
名创优品,又要搞事情了。这家开在CBD附近,神似无印良品又像优衣库、被人吐槽为山寨的品牌门店,却用10元的价格,将“买不了吃亏,买不了上当”的理念发挥到了极致。...
2020-04-22 -
澳大利亚龙虾什么的都来了!一季度外国货扎堆儿
位于上海南京路步行街上的苹果零售店恢复营业。(图/中新社)【澳洲网王番4月20日综合报道】步入2020年后,中国的进出口贸易经历了头两个月的重挫,终于在3月迎来...
2020-04-22