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

用div做网站代码网页制作处理中的三剑客

用div做网站代码,网页制作处理中的三剑客,淘客手机端网站建设,上海浦东新区网站因为项目是后期引入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.yayakq.cn/news/588772/

相关文章:

  • 中山石岐网站建设太原市一页网络科技有限公司
  • 网站自适应开发一级消防工程师
  • 做网站的都是直男癌吗做网站的视频教学
  • 做远程培训网站用什么系统樱桃企业网站管理系统v1.1-cms
  • 如何制作一个网站包含多个网页阿里云备案 网站备案域名
  • 视频网站开发的论文网站建设需求分析酒类
  • 微站和pc网站私人订制网站推荐
  • wordpress头像尺寸合肥百度推广优化
  • 网站后台怎么更新网站设计策划书方案
  • 阿里巴巴做国际网站多少钱模板做图 网站
  • 企业进行网站建设的方式网络推广是什么工作
  • 沈阳微信网站上海装潢设计
  • 制作网站用什么软件有哪些企业管理培训课程免费视频
  • 无障碍网站建设推广前景郑州网站建设网站
  • 怎么把网站源码上传到空间根目录视频博客网站做外贸可以吗
  • 如何建设一个网站站哪个网站可以免费设计房子
  • 威海市建设工程协会网站跨境电商好做吗
  • 域名空间有了怎么做网站东莞网络推广系统
  • 宁波h5建站大业推广网站
  • 建网站能多少带宽wordpress怎么删回复
  • 北京网站域名快速备案wordpress主题添加右边栏
  • 如何查看网站用什么代码做的怎么认证网站
  • 社区网站模板pw域名网站
  • 广州 电商网站建设金湖做网站
  • 校园网站建设管理制度网站建设培训多少钱
  • 手机上自己做网站吗个人网站开发模式
  • 电子商务网站的设计与实现做电商网站有什语言好
  • 网站怎么企业备案信息asp网站开发源码
  • 做中介开什么网站wordpress 4.9.1 教程
  • 做视频用的网站有哪些更改wordpress最大文件