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

网站建设投入及费用做网站 就

网站建设投入及费用,做网站 就,创建网站制作仪表企业,摄影设计说明怎么写在Django项目中#xff0c;如何集成使用Celery框架来完成一些异步任务以及定时任务呢#xff1f; 1. 安装 pip install celery # celery框架 pip install django-celery-beat # celery定时任务使用 pip install django-celery-results # celery存储结果使用2. Django集成…在Django项目中如何集成使用Celery框架来完成一些异步任务以及定时任务呢 1. 安装 pip install celery # celery框架 pip install django-celery-beat # celery定时任务使用 pip install django-celery-results # celery存储结果使用2. Django集成celery 在 settings.py 配置文件中增加如下配置项 INSTALLED_APPS [...celery,django_celery_beat,django_celery_results ]以下是celery的相关配置 # 时区配置 CELERY_TIMEZONE Asia/Shanghai CELERY_ENABLE_UTC False DJANGO_CELERY_BEAT_TZ_AWARE False# broker backend 配置使用rabbitmq作为中间件 CELERY_BROKER_URL amqp://devops:devops123127.0.0.1:5672/alarm CELERY_RESULT_BACKEND amqp://devops:devops123127.0.0.1:5672/alarm# 使用django_celery_beat动态配置任务 CELERY_BEAT_SCHEDULER django_celery_beat.schedulers:DatabaseScheduler# celery序列化和反序列化配置 CELERY_TASK_SERIALIZER pickle CELERY_RESULT_SERIALIZER pickle CELERY_ACCEPT_CONTENT [pickle, json]# 下面配置项在有些情况下可以防止死锁 非常重要 CELERYD_FORCE_EXECV True # 任务结果存储的过期时间默认1天过期。如果beat开启Celery每天会自动清除设为0存储结果永不过期。 CELERY_RESULT_EXPIRES 60 * 60 * 24 # 每个worker执行1000次任务后死掉会自动重启worker防止任务占用太多内存导致内存泄漏 CELERY_MAX_TASKS_PER_CHILD 1000 # 禁用所有速度限制如果网络资源有限不建议开足马力。 CELERY_DISABLE_RATE_LIMITS True # 单个任务的运行时间限制否则会被杀死 CELERYD_TASK_TIME_LIMIT 60 * 60 CELERY_TASK_RETRY 2# celery 队列配置 from kombu import Exchange, Queue # consumer_arguments设置队列的优先级 CELERY_TASK_QUEUES (Queue(alarm_queue, Exchange(alarm_exchange), routing_keyalarm_email, consumer_arguments{x-priority: 5}),Queue(alarm_queue, Exchange(alarm_exchange), routing_keyalarm_phone, consumer_arguments{x-priority: 8}),Queue(calcu_queue, Exchange(calcu_exchange), routing_keycalcu_feature, consumer_arguments{x-priority: 10}) )CELERY_TASK_ROUTES {alarm.tasks.call_phone: {queue: alarm_queue, routing_key: alarm_phone},alarm.tasks.send_email: {queue: alarm_queue, routing_key: alarm_email},calcu.tasks.execute_calcu: {queue: calcu_queue, routing_key: calcu_feature}, }在 settings.py 同级目录下新增一个 celery.py 文件 from __future__ import absolute_import, unicode_literals # absolute_import: 使用python的库而不是项目目录下的文件 import os from celery import Celery from django.conf import settingsos.environ.setdefault(DJANGO_SETTINGS_MODULE, celerymq.settings) celery_app Celery(celerymq)celery_app.config_from_object(django.conf:settings, namespaceCELERY) celery_app.autodiscover_tasks(settings.INSTALLED_APPS)在App中增加一个 tasks.py 文件用于实现异步任务 import time from celery import shared_taskshared_task(ignore_resultTrue) def execute_calcu(dataframe):print(fexecute celery task: calcu feature)time.sleep(10) # 这里写比较耗时的逻辑print(fexecute calcu feature task run over)在其他文件逻辑中进行异步调用 execute_calcu.delay(dataframe)项目启动后如果有异步任务进来可以在 RabbitMQ 监控平台看到队列信息 http://127.0.0.1:15672/。 3. 启动命令 启动 worker 去消费数据。 # 启动worker celery worker -A celerymq -l INFO -n alarm_queue -Q alarm_queue -P eventlet# 启动beat celery beat -A celerymq -l INFO --scheduler django_celery_beat.schedulers:DatabaseScheduler在linux中启动worker的话可以去掉 -P eventlet 参数。 另外定时任务推荐使用 django-admin 来下发。
http://www.yutouwan.com/news/356818/

相关文章:

  • 网站意见反馈源码中国桥梁建设公司排名
  • 深圳网站建设app开发做服饰的有哪些网站
  • 吴中区做网站的公司公网怎么做网站
  • 建设网站公司哪里好wordpress 反应慢
  • dw网站根目录怎么做万网安装wordpress
  • 提升网站权重的方法网站做搜索引擎优化
  • 建立网站批复企业网址是什么?
  • 自己怎么设置会员网站劳务分包网
  • 电子商务网站建设.pdfidea网站开发
  • 建设银行u盾用网站打不开响应式模板网站模板下载
  • 石狮市建设局网站如何免费做网络推广
  • 软件专业做学校网站论文怎么选题河北省住建和城乡建设厅网站首页
  • 甘肃省建设局网站首页宜昌网站优化
  • 网页添加兼容性站点怎么在工商网站做实名认证
  • 2在线做网站给新公司做网站要多少钱
  • 企业网站建设好的案例如何搭建一个企业子账号网站
  • 开平设计网站免费网站重生做军嫂
  • 做婚恋网站的翻译好吗绿色风格 网站
  • 做家教网站赚钱么竞价托管咨询微竞价
  • 象山县城乡建设局网站官方网站车联网是谁做
  • 电商网站开发脑图写论文的网站
  • 中国公路建设行业协会网站上wordpress网站前端优化
  • 建设网站文献seo短视频永久入口运营
  • 移动端网站怎么制作搜索引擎营销成功案例
  • 如何做哟个优惠券网站上海对外经贸大学
  • 商标怎么设计上海seo推广方法
  • 建网站就找伍佰亿在哪里购买域名
  • 广州建设网站公司哪家好西樵网站建设
  • 云南做网站公司哪家好网站建设培训网站
  • 国外网站如何建设百度网页入口官网