123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #!/bin/bash
- DEFAULT_LOGFILE=/var/log/celeryd.log
- export CELERYD_LOGFILE=${1:-$DEFAULT_LOGFILE}
- get_start_date_by_task_id() {
- task_id="$1"
- grep Apply $CELERYD_LOGFILE | \
- grep "$task_id" | \
- perl -nle'
- /^\[(.+?): DEBUG/; print $1' | \
- sed 's/\s*$//'
- }
- get_end_date_by_task_id() {
- task_id="$1"
- grep processed $CELERYD_LOGFILE | \
- grep "$task_id" | \
- perl -nle'
- /^\[(.+?): INFO/; print $1 ' | \
- sed 's/\s*$//'
- }
- get_all_task_ids() {
- grep Apply $CELERYD_LOGFILE | perl -nle"/'task_id': '(.+?)'/; print \$1"
- }
- search_logs_for_task_id() {
- grep "$task_id" $CELERYD_LOGFILE
- }
- report_unprocessed_task() {
- task_id="$1"
- date_start="$2"
- cat <<EOFTEXT
- "---------------------------------------------------------------------------------"
- | UNFINISHED TASK: $task_id [$date_start]
- "---------------------------------------------------------------------------------"
- Related logs:
- EOFTEXT
- search_logs_for_task_id "$task_id"
- }
- for task_id in $(get_all_task_ids); do
- date_start=$(get_start_date_by_task_id "$task_id")
- date_end=$(get_end_date_by_task_id "$task_id")
- if [ -z "$date_end" ]; then
- report_unprocessed_task "$task_id" "$date_start"
- fi
- done
|