대기 중인 Celery 작업 계산
선택한 Redis 클라이언트를 사용하여 redli(tls 지원)을 선택하고
LRANGE
을 사용하여 모든 작업 목록을 가져오고 jq
을 통해 파이프하여 쿼리 headers->task
, sort
및 uniq
을 쿼리합니다.> redli [your connection parameters] lrange celery 0 30000 | jq '.headers.task' | sort | uniq -c
533 "devices.adapters.lorawan.tasks.run_lora_payload_decoder"
2 "devices.adapters.particle.tasks.run_particle_payload_decoder"
92 "devices.tasks.call_device_function"
8556 "devices.tasks.ping_device"
9682 "devices.tasks.process_device_field_rules"
5 "devices.tasks.send_device_offline_email"
2 "dzeroos.tasks.call_command"
8 "dzeroos.tasks.flush_command_queue"
1 "dzeroos.tasks.publish_device_config"
1 "dzeroos.tasks.publish_protobuf_config"
보너스: 작업 세부 정보에 대한 통계
제 경우에는 한 작업의 매개변수 중 하나에 대한 통찰력이 필요했습니다(긴 대기열을 유발하는 루프를 조사하고 있었습니다). 여기에는
jq
과 bash-magic이 더 필요했으며 사용 사례에 맞지 않을 수 있습니다. 참조용으로 여기에 붙여넣습니다.> redli [your connection parameters] lrange celery 0 1000 | jq -c '. | select(.headers.task | contains("taskname")) .body' | while read -r line; do echo "$line" | tr -d '"' | base64 -D | jq '.[0][0]'; done | sort | uniq -c
15 "04576f6e-d5d1-45f4-8eef-a17e015335f4"
9 "05264cc7-ae60-4f4f-9a18-2451e8d83f65"
25 "4e240129-b84e-4e70-9f85-0e06f7a01875"
224 "6c6a9aeb-10c7-417f-a928-791399d8adb9"
Reference
이 문제에 관하여(대기 중인 Celery 작업 계산), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/lukasklein/counting-the-queued-celery-tasks-4bn텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)