I'm currently running a test of one of SuggestBot's scripts and noticed
that sometimes there has been two jobs running almost in parallel, which
surprised me since I only have a single cron-job. Maybe there's an error
in my setup that's causing this, or maybe it's just a glitch in the Matrix?
Since I have no idea if it's the former, I'd be happy if someone had any
idea about what's been causing this.
Here's the crontab entry from the submit server:
28 * * * * cronsub nettasks $HOME/SuggestBot/opentask/opentasks-nettrom.sh
So far there's been eight incidents of duplicate jobs:
jobnumber 837874, qsub_time Tue Nov 27 21:28:02 2012
jobnumber 837876, qsub_time Tue Nov 27 21:28:03 2012
jobnumber 841731, qsub_time Wed Nov 28 13:28:01 2012
jobnumber 841734, qsub_time Wed Nov 28 13:28:03 2012
jobnumber 844796, qsub_time Thu Nov 29 01:28:01 2012
jobnumber 844797, qsub_time Thu Nov 29 01:28:02 2012
jobnumber 845829, qsub_time Thu Nov 29 05:28:01 2012
jobnumber 845830, qsub_time Thu Nov 29 05:28:01 2012
jobnumber 846093, qsub_time Thu Nov 29 06:28:01 2012
jobnumber 846095, qsub_time Thu Nov 29 06:28:03 2012
jobnumber 846351, qsub_time Thu Nov 29 07:28:01 2012
jobnumber 846354, qsub_time Thu Nov 29 07:28:03 2012
jobnumber 847126, qsub_time Thu Nov 29 10:28:02 2012
jobnumber 847128, qsub_time Thu Nov 29 10:28:03 2012
jobnumber 848150, qsub_time Thu Nov 29 14:28:01 2012
jobnumber 848151, qsub_time Thu Nov 29 14:28:02 2012
Here's the shell script that's launched by cron:
nettrom@willow:~$ less SuggestBot/opentask/opentasks-nettrom.sh
#!/bin/bash
# Name the job "opentasks".
#$ -N nettasks
# Tell the server we'll be running for a maximum of 55 minutes (default is
6hrs)
#$ -l h_rt=00:55:00
# Join STDERR and STDOUT
#$ -j y
# Store output in a different place.
#$ -o $HOME/SuggestBot/logs/opentasks-nettrom.log
# Ask for 256MB of memory
#$ -l virtual_free=256M
# Need 1 SQL process on s1-rr for enwiki, and 1 SQL process on sql-user-n
for logging
#$ -l sql-s1-rr=1
#$ -l sql-user-n=1
# Until oursql is available on the Linux hosts, we have to restrict this to
Solaris,
# or rewrite it to use MySQLdb.
#$ -l arch=sol
# Engage virtualenv
source $HOME/env/default/bin/activate
# Make sure my local modules work
export PYTHONPATH=$HOME/lib/python
# Post to my userspace with 5x oversampling, pointing to the right
classifier host file
python $HOME/SuggestBot/opentask/opentasks.py -o 5
--page="User:Nettrom/sandbox/opentask" -l en \
-f $HOME/SuggestBot/classifier/hostname.txt
Regards,
Morten