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,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值