| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | 
							- #!/bin/bash
 
- #--------------------------------------------------------------------#
 
- # Find all currently unprocessed tasks by searching the celeryd
 
- # log file.
 
- #
 
- # Please note that this will also include tasks that raised an exception,
 
- # or is just under active processing (will finish soon).
 
- #
 
- # Usage:
 
- #
 
- #     # Using default log file /var/log/celeryd.log
 
- #     $ bash find-unprocessed-tasks.sh
 
- #
 
- #     # Using a custom logfile
 
- #     # bash find-unprocessed-tasks.sh ./celeryd.log
 
- #
 
- #--------------------------------------------------------------------#
 
- DEFAULT_LOGFILE=/var/log/celeryd.log
 
- export CELERYD_LOGFILE=${1:-$DEFAULT_LOGFILE}
 
- get_start_date_by_task_id() {
 
-     task_id="$1"
 
-     grep 'Received task:' $CELERYD_LOGFILE | \
 
-         grep "$task_id" | \
 
-         perl -nle'
 
-             /^\[(.+?): INFO/; 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 'Received task:' $CELERYD_LOGFILE | \
 
- 	perl -nle'/Received task:.+?\[(.+?)\]/; 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
 
 
  |