当前位置: 首页 > news >正文

做b网站外链网站大全

做b网站,外链网站大全,如何做律所网站,福建省中城建设工程有限公司网站因为项目是后期引入celery,所以导致构建docker的时候只有fastapi的项目,celery的重启比较麻烦 1.docker安装celery pip install celery安装celery的时候注意python版本与celery版本的适配,有些celery的版本不支持python的版本,具体的版本请看…

因为项目是后期引入celery,所以导致构建docker的时候只有fastapi的项目,celery的重启比较麻烦
1.docker安装celery

pip install celery

安装celery的时候注意python版本与celery版本的适配,有些celery的版本不支持python的版本,具体的版本请看celery官网里面的版本信息

2.在工程目录中创建celery的启动文件,这里我创建的是tasks.py 文件

from celery import Celerycelery_app = Celery("worker",broker="redis://:frasergen2022@192.168.2.189:26379/0",backend="redis://:frasergen2022@192.168.2.189:26379/0",include=["apps.tools.my_celery.__init__"]
)

这是celery的启动文件,里面最好不要引入你的项目里面的变量,如果引入你项目里的变了,后期去定义后台任务的时候,引入celery_app会陷入到循环引用的深坑

3.测试celery

celery -A tasks.celery_app worker --loglevel=info

在这里插入图片描述
4.可以后台启动celery

celery multi start w1 -A tasks.celery_app -l info --logfile=celerylog.log

在这里插入图片描述
这里不用启动,后续会用看门狗(watchdog)监控任务文件,如果文件修改,会重启celery

5.安装看门狗(watchdog)

pip install watchdog

参考链接:https://whoosy.cn/2019/08/01/Celery/celery使用/
后台启动watchdog

nohup watchmedo auto-restart --directory=/data/cloud_platform/apps/tools/my_celery/ --pattern=*.py --recursive -- celery -A tasks.celery_app worker --loglevel=info --logfile=celerylog.log > watchmedo.log 2> watchmedo.elog &

–directory : 监控路径
–pattern: 监控文件后缀
在这里插入图片描述
6.配置celery后台任务
1.配置tortoise-orm数据库连接

import asynciofrom tortoise import Tortoise
from celery.signals import worker_process_init, worker_process_shutdownfrom apps.models import User
from tasks import celery_app
from apps.tools.db_config import ORM_LINK_CONFasync def init_db():await Tortoise.init(config=ORM_LINK_CONF)@worker_process_init.connect
def on_worker_init(*args, **kwargs):print('初始化数据库')from celery._state import _task_stackif _task_stack.top is not None:loop = _task_stack.top.request.loopelse:loop = asyncio.get_event_loop()loop.run_until_complete(init_db())@worker_process_shutdown.connect
def on_worker_shutdown(*args, **kwargs):print('关闭数据库')from celery._state import _task_stackif _task_stack.top is not None:loop = _task_stack.top.request.loopelse:loop = asyncio.get_event_loop()loop.run_until_complete(Tortoise.close_connections())

2.配置后台任务

@celery_app.task(name="get_user_task")
def get_user_task(*args, **kwargs):asyncio.get_event_loop().run_until_complete(_get_user_task())async def _get_user_task():user = await User.filter().all()for item in user:print(item.nickname, item.username)print(f"{item.phone=}")

代码上传到docker后,celery会重启
在这里插入图片描述
7.测试接口+后台异步任务

@router.get("/get_user_info", summary="测试后台任务获取用户信息")
async def get_user_info():get_user_task.delay()return res()

结果:
在这里插入图片描述

http://www.yidumall.com/news/67694.html

相关文章:

  • 网站开发和程序开发的却别亚洲卫星电视网参数表
  • 徐州万网网站建设腾讯广告投放平台
  • 军事新闻最新消息中国搜索引擎优化论文3000字
  • 分类信息网站怎么做一手项目对接app平台
  • 三乡网站建设百度导航下载安装手机导航
  • 天元建设集团有限公司第九建筑工程公司seo数据
  • dedecms 建两个网站的问题怎么免费建个人网站
  • seo代码优化包括哪些成都网站快速优化排名
  • 如何把做的网站变成链接线上营销推广渠道
  • 智能网站建设哪家好电脑培训学校能学什么
  • 有没有兼职做设计的网站如何实现网站的快速排名
  • 建筑工程找活网站web设计一个简单网页
  • 南山专业做网站公司小程序开发流程详细
  • 个人网站的建立怎么做销售人员培训课程有哪些
  • 购物网站开发要解决的问题优化大师绿色版
  • ui设计工资衡水网站seo
  • 做私服发布网站犯法吗seo关键词报价查询
  • 深圳o2o网站建设当阳seo外包
  • 网上做物理题赚钱的网站朝阳网络推广
  • 招聘网站如何做SEO深圳网站优化推广
  • 微网站的建设模板有哪些内容重庆放心seo整站优化
  • 建个企业网站一年需要多少钱百度公司总部
  • 自己建网站做外贸网文网站排名
  • 宝鸡网站建设价格网站权重等级
  • wordpress怎么做企业网站网站seo优化网站
  • 学校的网站怎么做的好seo综合查询国产
  • 建立网站流程图seo是广告投放吗
  • 免费网站建设公司代理优化大师专业版
  • 网站建设计划表模板下载seo做得比较好的公司
  • 爱做网站软件冯耀宗seo