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

网站程序元网站营销外包

网站程序元,网站营销外包,宁波seo快速优化教程,电子商务网站建设技术方案在celery的配置方法中有个参数叫task_routes#xff0c;是用来设置不同的任务 消费不同的队列#xff08;也就是路由#xff09;。 格式如下#xff1a; { ‘task name’: { ‘queue’: ‘queue name’ }}直接上代码#xff0c;简单明了#xff0c;目录格式如下#x…在celery的配置方法中有个参数叫task_routes是用来设置不同的任务 消费不同的队列也就是路由。 格式如下 { ‘task name’: { ‘queue’: ‘queue name’ }}直接上代码简单明了目录格式如下 首先是配置文件 config.init.py import os import sys from pathlib import PathBASE_DIR Path(__file__).resolve().parent.parent sys.path.append(str(BASE_DIR))class Config(object):配置文件基类 项目名称 PROJECT_NAME crawler_worker celery backend存放结果 CELERY_BACKEND_URL redis://127.0.0.1:6379/4 celery broker中间件 CELERY_BROKER_URL redis://127.0.0.1:6379/5 worker 名称 CRAWL_SEND_EMAIL_TASK crawl_service.crawl.send_email_task # 抓取发送邮件任务CRAWL_SEND_MSG_TASK crawl_service.crawl.send_msg_task # 抓取发送短信任务settings Config()celery应用程序模块配置相关 celery_base.celery_app.py import os import sys import time import celery from pathlib import PathBASE_DIR Path(__file__).resolve().parent.parent sys.path.append(str(BASE_DIR))from config import settings# 实例化celery对象 celery_app celery.Celery(settings.PROJECT_NAME,backendsettings.CELERY_BACKEND_URL,brokersettings.CELERY_BROKER_URL,include[tasks.crawl_send_email,tasks.crawl_send_msg,], )# 任务路由 task_routes {settings.CRAWL_SEND_EMAIL_TASK: {queue: f{settings.CRAWL_SEND_EMAIL_TASK}_queue},settings.CRAWL_SEND_MSG_TASK: {queue: f{settings.CRAWL_SEND_MSG_TASK}_queue}, } # 任务去重 celery_once {backend: celery_once.backends.Redis,settings: {url: settings.CELERY_BACKEND_URL, default_timeout: 60 * 60}, } # 配置文件 celery_app.conf.update(task_serializerjson,result_serializerjson,accept_content[json],task_default_queuenormal,timezoneAsia/Shanghai,enable_utcFalse,task_routestask_routes,task_ignore_resultTrue,redis_max_connections100,result_expires3600,ONCEcelery_once, )抓取基类 crawl_worker_base.py from celery_once import QueueOnceclass CrawlBase(QueueOnce):抓取worker基类name Noneonce {graceful: True}ignore_result True发送邮件任务 crawl_send_email.py import os import sys import time import celery from loguru import logger from pathlib import PathBASE_DIR Path(__file__).resolve().parent.parent sys.path.append(str(BASE_DIR))from config import settings from celery_base.celery_app import celery_app from tasks.crawl_worker_base import CrawlBase执行命令: celery -A tasks.crawl_send_email worker -l info -Q crawl_service.crawl.send_email_task_queueclass SendEmailClass(CrawlBase):name settings.CRAWL_SEND_EMAIL_TASKdef __init__(self, *args, **kwargs):super(SendEmailClass, self).__init__(*args, **kwargs)def run(self, name):logger.info(class的方式, 向%s发送邮件... % name)time.sleep(5)logger.info(class的方式, 向%s发送邮件完成 % name)return f成功拿到{name}发送的邮件!send_email celery_app.register_task(SendEmailClass())发送短信 crawl_send_msg.py import os import sys import time import celery from loguru import logger from pathlib import PathBASE_DIR Path(__file__).resolve().parent.parent sys.path.append(str(BASE_DIR)) from config import settings from celery_base.celery_app import celery_app from tasks.crawl_worker_base import CrawlBase执行命令: celery -A tasks.crawl_send_msg worker -l info -Q crawl_service.crawl.send_msg_task_queueclass SendMsgClass(CrawlBase):name settings.CRAWL_SEND_MSG_TASKdef __init__(self, *args, **kwargs):super(SendMsgClass, self).__init__(*args, **kwargs)def run(self, name):logger.info(class的方式, 向%s发送短信... % name)time.sleep(5)logger.info(class的方式, 向%s发送短信完成 % name)return f成功拿到{name}发送的短信!send_msg celery_app.register_task(SendMsgClass())发送邮件任务-调度器 send_email_scheduler.py import sys from pathlib import PathBASE_DIR Path(__file__).resolve().parent.parent sys.path.append(str(BASE_DIR))from config import settings from celery_base.celery_app import celery_appif __name__ __main__:for i in range(100):result celery_app.send_task(namesettings.CRAWL_SEND_EMAIL_TASK, args(f张三嘿嘿{i},))print(result.id)发送短信任务-调度器 send_msg_scheduler.py import os import sys import time from pathlib import PathBASE_DIR Path(__file__).resolve().parent.parent sys.path.append(str(BASE_DIR))from config import settings from celery_base.celery_app import celery_appif __name__ __main__:for i in range(100, 500):result celery_app.send_task(namesettings.CRAWL_SEND_MSG_TASK, args(f李四哈哈哈{i},))print(result.id)准备工作已经做好紧接着分别执行命令 celery -A tasks.crawl_send_email worker -l info -Q crawl_service.crawl.send_email_task_queuecelery -A tasks.crawl_send_msg worker -l info -Q crawl_service.crawl.send_msg_task_queue出现下面效果就代表celery启动成功 最后只要发送任务即可在redis中就可以看到专门指定的两个队列了。 看下运行过程中的日志 一个简单的celery 队列就实现了。
http://www.hkea.cn/news/14264733/

相关文章:

  • 德州哪家网站优化公司专业做安卓开发要去看哪些网站
  • 机械厂网站模板手机怎么弄微信公众号
  • 织梦模板网站怎么上线百度云 网站备案
  • 展示型网站企业网站建设免费网站建设网站
  • 手机网站开发软件有哪些知名网页设计师
  • 大庆门户网站wordpress问答悬赏功能
  • 网站建设的资金问题正规网站建设空间
  • 如何设计网站站点企业信用查询平台
  • 建设一个网站需要哪些员工com域名便宜
  • 做网站怎样赚卖流量智慧团建初始密码是多少
  • 建设网站的一般过程正规网页设计开发
  • 创建公司网站 教程济南网络免费推广网站
  • 网站建设dqcx校园网站建设用什么软件写
  • 百度营销-网站分析培训网站群建设路径
  • 网站开发人员属于什么如何开无货源网店
  • 青岛网站建设首选保定住房和城乡建设局网站
  • 新钥匙石家庄网站建设网站开发需求式样书
  • 电脑做ppt模板下载网站股票指数是什么意思
  • 自己怎么做网站卖东西网页版微信客户端
  • 怎么做信息发布型网站做淘宝主要看哪些网站
  • 百度工具网站改版网站互联网推广
  • 广东建设厅网站个人怎么登录啊怎么开网店淘宝
  • 西安商城类网站制作网站建设百度
  • 河池公司网站开发价格网站建设吉金手指专业11
  • 订做网站全国免费自学网站有哪些
  • 昆明建设网站制作wordpress上传中文文件
  • 口碑好网站建设公司天元建设集团有限公司总工程师
  • 电子商务网站建设的技术综述编写网站用什么语言
  • 网站的建设和维护腾讯企点有风险吗
  • 二 网站建设的目的及功能定位建筑装饰和网站建设哪个好