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

celery inspect stats

stats() 方法是Celery inspect 模块中的一个方法,用于收集和返回关于Celery worker的各种统计信息。这些统计信息可以帮助你了解worker的当前状态和性能指标。stats() 返回的结果是一个字典,其中键是worker的名字,值是一个包含多个统计指标的字典。

  • 官网

stats() 方法返回的内容

stats() 方法返回的内容通常包括但不限于以下信息:

  1. worker的状态

    • pid:worker进程的ID。
    • freq:心跳频率(每秒发送的心跳次数)。
    • alive:worker是否存活(布尔值)。
    • load平均值:系统负载平均值,通常包括1分钟、5分钟和15分钟的负载平均值。
    • sw_ident:worker使用的软件标识。
    • sw_ver:worker使用的软件版本。
    • sw_sys:worker所在的系统信息。
  2. 任务处理状态

    • total:处理过的总任务数。
    • processed:处理过的任务数。
    • scheduled:预定的任务数。
    • active:正在执行的任务数。
    • reserved:预留的任务数。
    • revoked:被撤销的任务数。
    • consumer:消费者状态信息。
  3. 队列信息

    • queues:队列信息,包括队列名称和队列中的消息数量。
    • active_queues:活动队列的信息。
  4. 配置信息

    • conf:worker的配置信息。
    • pool:工作池的信息,包括最大并发数等。
  5. 其他统计信息

    • clock:worker上的时钟。
    • tasks:任务相关信息。
    • events:事件相关信息。

示例输出

下面是一个stats() 方法返回的示例输出:

{'celery@worker1': {'pid': 12345,'freq': 1.0,'loadavg': [0.9, 0.8, 0.7],'sw_ident': 'celery','sw_ver': '5.2.2','sw_sys': 'Linux-5.4.0-106-generic-x86_64-with-glibc2.29','total': 100,'processed': 100,'scheduled': 0,'active': 1,'reserved': 0,'revoked': 0,'consumer': {'active_queues': [{'name': 'default', 'exchange': 'default', 'bindings': ['*']}],'qos': {'prefetch_count': 1, 'prefetch_size': 0, 'global': False},'concurrency': 4,'deliveries': {'total': 100, 'get': 100, 'put': 0},'tasks': {'total': 100, 'received': 100, 'acked': 100, 'rejected': 0},'processes': {'max': 4, 'active': 4, 'idle': 0, 'exhausted': 0},'events': {'processed': 100, 'rejected': 0, 'revoked': 0, 'failed': 0},'pool': {'max-concurrency': 4, 'max-tasks-per-child': None, 'max-memory-per-child': None},'queues': {'default': {'bindings': ['*'], 'exchange': 'default', 'name': 'default', 'messages': 0}},'tasks-by-type': {'task_type_1': 50, 'task_type_2': 50}},'clock': 1642321200.0,'events': {'enabled': True, 'last_enabled': 1642321200.0, 'last_disabled': 0.0},'conf': {'broker_url': 'amqp://guest:guest@localhost:5672//','task_serializer': 'json','result_serializer': 'json','accept_content': ['json'],'timezone': 'UTC','enable_utc': True,'task_track_started': True,'task_ignore_result': False,'task_send_sent_event': True,'task_acks_late': True,'worker_hijack_root_logger': False,'worker_redirect_stdouts_level': 'INFO','worker_redirect_stdouts': True,'worker_send_task_events': True,'worker_cancel_long_running_tasks_on_shutdown': False,'worker_prefetch_multiplier': 1,'worker_max_tasks_per_child': None,'worker_max_memory_per_child': None,'worker_send_task_sent_event': True,'worker_state_db': None,'worker_log_color': True,'worker_log_format': '%(levelname)s: %(message)s','worker_task_log_format': '%(levelname)s: tasks.%(__name__)s[%( delivery_tag)09d]: %(message)s','worker_loglevel': 'INFO','worker_send_task_error_emails': False,'worker_send_task_success_emails': False,'worker_send_task_failure_emails': False,'worker_send_task_retry_emails': False,'worker_send_task_retry_policy': {'interval_start': 0, 'interval_step': 0.2, 'interval_max': 0.2, 'max_retries': None},'worker_send_task_retry_interval': 0.2,'worker_send_task_retry_max_retries': None,'worker_send_task_retry_interval_max': 0.2,'worker_send_task_retry_interval_start': 0,'worker_send_task_retry_interval_step': 0.2,'worker_send_task_retry_interval_jitter': 0,'worker_send_task_retry_backoff': False,'worker_send_task_retry_backoff_max': 0,'worker_send_task_retry_backoff_jitter': 0,'worker_send_task_retry_backoff_max_jitter': 0,'worker_send_task_retry_backoff_factor': 1,'worker_send_task_retry_backoff_max_factor': 1,'worker_send_task_retry_backoff_jitter_factor': 1,'worker_send_task_retry_backoff_max_jitter_factor': 1,'worker_send_task_retry_backoff_jitter_max': 0,'worker_send_task_retry_backoff_max_jitter_max': 0,'worker_send_task_retry_backoff_jitter_min': 0,'worker_send_task_retry_backoff_max_jitter_min': 0,'worker_send_task_retry_backoff_jitter': False,'worker_send_task_retry_backoff_max_jitter': False,'worker_send_task_retry_backoff_jitter_factor': 1,'worker_send_task_retry_backoff_max_jitter_factor': 1,'worker_send_task_retry_backoff_jitter_max': 0,'worker_send_task_retry_backoff_max_jitter_max': 0,'worker_send_task_retry_backoff_jitter_min': 0,'worker_send_task_retry_backoff_max_jitter_min': 0,'worker_send_task_retry_backoff_jitter': False,'worker_send_task_retry_backoff_max_jitter': False,'worker_send_task_retry_backoff_jitter_factor': 1,'worker_send_task_retry_backoff_max_jitter_factor': 1,'worker_send_task_retry_backoff_jitter_max': 0,'worker_send_task_retry_backoff_max_jitter_max': 0,'worker_send_task_retry_backoff_jitter_min': 0,'worker_send_task_retry_backoff_max_jitter_min': 0,'worker_send_task_retry_backoff_jitter': False,

http://www.mrgr.cn/news/21003.html

相关文章:

  • 苹果手机突然黑屏打不开怎么办?
  • 使用树莓派学习——Linux库编程
  • 软件测试之压力测试知识总结
  • leetcode : 64 最小路径和 动态规划
  • electron 客户端 windows linux(麒麟V10)多系统离线打包 最新版 <一>
  • 2025年25届必看:如何用Java SpringBoot+Vue搭建大学生成绩量化管理系统?
  • 【操作系统】线程同步之自旋锁
  • 模型案例:| 网球识别模型
  • 全国机器人大赛 Robocon 常州工学院团队首战国三
  • 如何在macOS系统上安装Sketch软件?
  • 【数字信号处理】一文讲清FIR(有限冲击响应)、IIR(无限冲击响应)滤波器
  • 国内领先线上运动平台:如何借助AI技术实现业务腾飞与用户体验升级
  • 高级编程语言翻译例题
  • 【图论】虚树 - 模板总结
  • 如何解决数据清洗过程中可能遇到的问题
  • 记一次mysql锁等待超时问题
  • 算法进阶 | 必知!5大深度生成模型!
  • 史记全译系列 2 十二本纪 夏本纪第二 说明
  • “Docker网络模式详解与应用“
  • 类比推理-错题集