3181982d60858062c80fd6db95294172f41525be mspeir Fri Sep 4 16:21:50 2026 -0700 Add the otto cron line for cbPingHidden, the monthly reminder to submitters of hidden Cell Browser datasets. It goes in the block whose MAILTO is cells@ucsc.edu, next to the other Cell Browser jobs. The run only queues one draft email per dataset that is due and mails the report; nothing reaches an author until someone reads the queue and runs "cbPingHidden send". Three departures from the line suggested in the script's README. The report address is spelled out, because a bare --mail-report falls back to $USER@ucsc.edu and $USER here is otto. The umask keeps the drafts otto writes into the queue group-writable, so they can still be edited by hand before they go out. And the schedule is the 1st of the month rather than the first Monday: "1-7 * 1" would have been read as the 1st through the 7th OR every Monday, which is roughly ten runs a month, not one. refs #38246 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> diff --git src/hg/utils/otto/otto.crontab src/hg/utils/otto/otto.crontab index 54bb2491754..68549e48fd0 100644 --- src/hg/utils/otto/otto.crontab +++ src/hg/utils/otto/otto.crontab @@ -157,30 +157,36 @@ #Add a new daily tip to the home page 5 5 * * 1-5 /cluster/software/bin/python /cluster/bin/scripts/generateTipOfDay.py -s ~/kent/src/hg/htdocs/allTipsRaw.html #OMIM Upload HGDB_CONF=/cluster/home/otto/.hg.conf.beta 15 05 * * * /hive/data/outside/otto/omim/omimUploadWrapper.sh MAILTO=cells@ucsc.edu # Cell Browser news sec update by Matt/Brittney Sept 2022 0 0 * * 1-5 umask 002; ~bwick/miniconda3/bin/python3.8 ~bwick/cellBrowser/ucsc/updateNewsSec -r # Update Cell Browser .json facets files using tabulate_facets.pl 0 0 * * 1-5 cd /usr/local/apache/htdocs-cells-submit/facets && ~bwick/cellBrowser/ucsc/tabulate_facets.pl /usr/local/apache/htdocs-cells-beta/dataset.json 0 0 * * 1-5 cd /usr/local/apache/htdocs-cells-submit/facets && /usr/local/apache/htdocs-cells-submit/facets/tsv_to_json.py +# Hidden-dataset reminders (RM #38246). Once a month, queue one draft email per +# hidden dataset whose submitter has not been asked in a year, and mail the +# report to cells@. Nothing reaches an author until a person reviews the queue +# and runs "cbPingHidden send". Silent when nothing is due. +0 8 1 * * umask 002; ~mspeir/cellBrowser/ucsc/cbPingHidden scan -q --mail-report cells@ucsc.edu + # cbAnnotServer: Cell Browser login/annotation API (RM #37492). Keeps gunicorn # (127.0.0.1:5051, Apache proxies /api to it) alive; restarts if down / on reboot. * * * * * umask 002; CBANNOT_ENV_FILE=/hive/data/inside/cells/cbAnnotServer/cbAnnot.env ~mspeir/cellBrowser/src/cbAnnotServer/deploy/watchdog.sh >> /hive/data/inside/cells/cbAnnotServer/logs/watchdog.log 2>&1 @reboot umask 002; sleep 180; CBANNOT_ENV_FILE=/hive/data/inside/cells/cbAnnotServer/cbAnnot.env ~mspeir/cellBrowser/src/cbAnnotServer/deploy/watchdog.sh >> /hive/data/inside/cells/cbAnnotServer/logs/watchdog.log 2>&1 # DE worker: Cell Browser differential expression (RM #24912). Keeps deWorker.py # alive (reads the /hive job queue); restarts if down / on reboot. # # MOVED (2026-08-22): the DE worker now runs from the otto crontab ON # hgcompute-08, not here. The compute host reads exprMatrix.bin from a /hive # cache it fetches over HTTP (deCache.py), so it no longer needs the web host's # local docroot, and DE compute is off hgwdev. These two lines are left commented # for history; the live copy is in otto's crontab on hgcompute-08. #* * * * * umask 002; DE_ENV_FILE=/hive/data/inside/cells/cbAnnotServer/de.env ~mspeir/cellBrowser/src/cbAnnotServer/de/deploy/deWorkerWatchdog.sh >> /hive/data/inside/cells/cbAnnotServer/logs/deWorker-watchdog.log 2>&1 #@reboot umask 002; DE_ENV_FILE=/hive/data/inside/cells/cbAnnotServer/de.env ~mspeir/cellBrowser/src/cbAnnotServer/de/deploy/deWorkerWatchdog.sh >> /hive/data/inside/cells/cbAnnotServer/logs/deWorker-watchdog.log 2>&1