#!/bin/bash # Usage: wipe-jobs.sh [--signature sig] # # Removes all jobs, or only those belonging to indicated signature source /sequencelogic/bin/sequencelogic-mongo-helpers.sh SIG="" QUERY="db.sgnode.count({type:\"SNT_JOB\"})" if [ "$1" = "--signature" ]; then shift SIG=$1 shift fi if [ "${SIG}" != "" ]; then QUERY=$(echo "$QUERY" | sed "s/{/{signature:\"${SIG}\",/") fi echo echo "=== Counting jobs to remove ===" echo mongoExec "$QUERY" echo echo "=== Continue to remove jobs (verify count above; press ^c to quit) ===" read resp QUERY=$(echo "$QUERY" | sed 's/count/update/') QUERY=$(echo "$QUERY" | sed 's/[)]/,{\$set:{\"data.ingest.value.job_expiration\":\"1970-01-01T00:00:00.000Z\", \"data.workflow.value.wstate\":\"RETAINED\", \"data.workflow.value.pstate\":\"WAITING\"}},{multi:true})/') echo $QUERY mongoExec "$QUERY" echo "*** Removal of jobs will complete within 30 minutes ***" exit 0