70e3a28ad9458ae12f69bf99db04ad4d3e857792 hiram Thu May 21 10:18:45 2026 -0700 send failed doTrackDb logs to stderr email to cron refs #31811 diff --git src/hg/utils/otto/userRequests/ottoRequestWatch.sh src/hg/utils/otto/userRequests/ottoRequestWatch.sh index 20d85258cd8..37015b2e6eb 100755 --- src/hg/utils/otto/userRequests/ottoRequestWatch.sh +++ src/hg/utils/otto/userRequests/ottoRequestWatch.sh @@ -374,59 +374,61 @@ # GenArk targets use doTrackDb.bash sitting next to the trackData dir; # UCSC native targets use chainNetTrackDb.pl which probes axtChain/*.bb # in the build dir and writes a stanza into the otto kent clone. rm -f "${trackData}/lastz.${queryDb}" ln -s "${workDir}" "${trackData}/lastz.${queryDb}" case "${targetDb}" in GC[AF]_*) doTdb="$(dirname "${trackData}")/doTrackDb.bash" if [ ! -x "${doTdb}" ]; then printf "ERROR: can not find %s\n" "${doTdb}" 1>&2 setErrorStatus "${reqId}" continue fi if ! "${doTdb}" >> /cluster/home/hiram/kent/src/hg/utils/otto/userRequests/doTdb.log 2>&1; then printf "ERROR: %s failed\n" "${doTdb}" 1>&2 + cat /cluster/home/hiram/kent/src/hg/utils/otto/userRequests/doTdb.log 1>&2 setErrorStatus "${reqId}" continue fi ;; *) if ! ( cd "${buildDir}" \ && "${scriptDir}/chainNetTrackDb.pl" \ "${targetDb}" "${queryDb}" ); then printf "ERROR: chainNetTrackDb.pl failed for %s/%s\n" \ "${targetDb}" "${queryDb}" 1>&2 setErrorStatus "${reqId}" continue fi ;; esac # swap direction: queryDb is target, targetDb is query, work in swapDir rm -f "${swapData}/lastz.${targetDb}" ln -s "${swapWork}" "${swapData}/lastz.${targetDb}" case "${queryDb}" in GC[AF]_*) swapTdb="$(dirname "${swapData}")/doTrackDb.bash" if [ ! -x "${swapTdb}" ]; then printf "ERROR: can not find %s\n" "${swapTdb}" 1>&2 setErrorStatus "${reqId}" continue fi - if ! "${swapTdb}" > /dev/null 2>&1; then + if ! "${swapTdb}" >> /cluster/home/hiram/kent/src/hg/utils/otto/userRequests/swapTdb.log 2>&1; then printf "ERROR: %s failed\n" "${swapTdb}" 1>&2 + cat /cluster/home/hiram/kent/src/hg/utils/otto/userRequests/swapTdb.log 1>&2 setErrorStatus "${reqId}" continue fi ;; *) if ! ( cd "${swapDir}" \ && "${scriptDir}/chainNetTrackDb.pl" \ "${queryDb}" "${targetDb}" ); then printf "ERROR: chainNetTrackDb.pl failed for %s/%s\n" \ "${queryDb}" "${targetDb}" 1>&2 setErrorStatus "${reqId}" continue fi ;; esac