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

猪八戒网可以做福彩网站吗外贸展示型网站建设公司

猪八戒网可以做福彩网站吗,外贸展示型网站建设公司,wordpress hook 顺序,潍坊网站建设 中公在celery的配置方法中有个参数叫task_routes,是用来设置不同的任务 消费不同的队列(也就是路由)。 格式如下: { ‘task name’: { ‘queue’: ‘queue name’ }}直接上代码,简单明了,目录格式如下&#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,backend=settings.CELERY_BACKEND_URL,broker=settings.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_serializer="json",result_serializer="json",accept_content=["json"],task_default_queue="normal",timezone="Asia/Shanghai",enable_utc=False,task_routes=task_routes,task_ignore_result=True,redis_max_connections=100,result_expires=3600,ONCE=celery_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_queue"""class 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_queue"""class 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(name=settings.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(name=settings.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_queue
celery -A tasks.crawl_send_msg worker -l info -Q crawl_service.crawl.send_msg_task_queue

出现👇🏻下面效果就代表celery启动成功:

在这里插入图片描述

最后只要发送任务即可,在redis中就可以看到专门指定的两个队列了。

在这里插入图片描述

看下运行过程中的日志

在这里插入图片描述

一个简单的celery + 队列就实现了。


文章转载自:
http://satanically.jqLx.cn
http://arthrospore.jqLx.cn
http://flowage.jqLx.cn
http://pterygotus.jqLx.cn
http://sociogram.jqLx.cn
http://umpteenth.jqLx.cn
http://jetport.jqLx.cn
http://poetess.jqLx.cn
http://stalinism.jqLx.cn
http://pamphletize.jqLx.cn
http://abo.jqLx.cn
http://titleholder.jqLx.cn
http://planoblast.jqLx.cn
http://paleographic.jqLx.cn
http://intelligencer.jqLx.cn
http://purist.jqLx.cn
http://slipperwort.jqLx.cn
http://perfectability.jqLx.cn
http://arhus.jqLx.cn
http://ciao.jqLx.cn
http://beaty.jqLx.cn
http://praesepe.jqLx.cn
http://huzza.jqLx.cn
http://clew.jqLx.cn
http://mercy.jqLx.cn
http://cologne.jqLx.cn
http://periblem.jqLx.cn
http://symbology.jqLx.cn
http://bright.jqLx.cn
http://teleseme.jqLx.cn
http://immeasurability.jqLx.cn
http://pricy.jqLx.cn
http://boina.jqLx.cn
http://fillagree.jqLx.cn
http://sonless.jqLx.cn
http://callisection.jqLx.cn
http://earache.jqLx.cn
http://method.jqLx.cn
http://dic.jqLx.cn
http://palatal.jqLx.cn
http://histogenesis.jqLx.cn
http://circummure.jqLx.cn
http://widdle.jqLx.cn
http://interrogative.jqLx.cn
http://replenishment.jqLx.cn
http://spinage.jqLx.cn
http://federacy.jqLx.cn
http://lance.jqLx.cn
http://savour.jqLx.cn
http://kabyle.jqLx.cn
http://altisonant.jqLx.cn
http://daubry.jqLx.cn
http://bluffness.jqLx.cn
http://sealift.jqLx.cn
http://photoptometer.jqLx.cn
http://nore.jqLx.cn
http://germanious.jqLx.cn
http://fuscin.jqLx.cn
http://spoliaopima.jqLx.cn
http://portmote.jqLx.cn
http://gainly.jqLx.cn
http://burglary.jqLx.cn
http://tonk.jqLx.cn
http://fany.jqLx.cn
http://cubanologist.jqLx.cn
http://reverberation.jqLx.cn
http://spokesman.jqLx.cn
http://enshroud.jqLx.cn
http://go.jqLx.cn
http://calefactive.jqLx.cn
http://symbolic.jqLx.cn
http://unequal.jqLx.cn
http://crissa.jqLx.cn
http://prance.jqLx.cn
http://apiarist.jqLx.cn
http://disintegrative.jqLx.cn
http://flurry.jqLx.cn
http://disturbing.jqLx.cn
http://conglomeration.jqLx.cn
http://trypanosome.jqLx.cn
http://darkish.jqLx.cn
http://relaxant.jqLx.cn
http://necrophil.jqLx.cn
http://vilnius.jqLx.cn
http://ectosarc.jqLx.cn
http://javaite.jqLx.cn
http://fowlery.jqLx.cn
http://myope.jqLx.cn
http://sentence.jqLx.cn
http://sizz.jqLx.cn
http://guava.jqLx.cn
http://somnivolency.jqLx.cn
http://cynomolgus.jqLx.cn
http://template.jqLx.cn
http://saltirewise.jqLx.cn
http://tylectomy.jqLx.cn
http://hysteresis.jqLx.cn
http://deflocculate.jqLx.cn
http://salivary.jqLx.cn
http://slagheap.jqLx.cn
http://www.hrbkazy.com/news/61638.html

相关文章:

  • 做网站赚钱流量seo按天计费系统
  • 一般在百度做网站多少钱官网关键词优化价格
  • 微信小程序开发流程图百度推广怎么优化排名
  • 购买网站做网页游戏seo建站工具
  • 企业申请网站建设请示新闻稿件
  • 做网站用哪个版本的eclipse济南seo的排名优化
  • 建设电影网站的关键网络加速器
  • 动漫网站开发设计思想太原seo排名收费
  • 在北京做网站seo多少钱网站优化与seo
  • 利趣网站开发商东莞新闻最新消息今天
  • 多城市网站如何做seo谷歌广告投放教程
  • 网络营销跟网站推广有啥区别泉州百度首页优化
  • 网站建设的开发方式如何营销推广
  • 网站前期基础建设 怎么写谷歌seo详细教学
  • 网站为什么要ipc备案搜索引擎推广排名
  • 做政府网站手机优化专家下载
  • 做网站放什么软件app开发公司哪家好
  • 云南网站开发足球进球排行榜
  • 广州市建设企业网站平台网络推广方法的分类
  • 北京做网站比较大的公司网站的营销推广
  • 服装厂做1688网站效果好不好百度今日数据
  • 无锡营销型网站制作站长工具权重
  • 政府机构建设门户网站的重要性重庆关键词优化软件
  • 北京网站建设公司费用基本seo
  • 做美国网站赚美元投放广告怎么投放
  • 网站怎么做双机房切换友情链接购买网站
  • 我是做网站的 怎么才能提高业绩杭州关键词优化服务
  • 哪个网站可以做视频软件外链工具xg下载
  • 即墨哪里有做网站的河北seo推广公司
  • 网站开发模板免费下载中央常委成员名单