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
Looks like this was a PEBKAC[1], should have used qcronsub and not cronsub. Thanks to Sumurai8 for spotting that and suggesting ways to debug if the problem continues!
It appears that qcronsub doesn't allow me to specify all options in the shell script, though. If I specify virtual_free using #$ -l virtual_free=xxM I get this error:
nettrom@willow:~$ qcronsub SuggestBot/opentask/opentasks-nettrom.sh Unable to run job: attribute "virtual_free" is not a memory value. Exiting.
Instead I have to specify it as a command line option to qcronsub. Feature or a bug?
Footnotes: 1: See http://www.catb.org/jargon/html/P/PEBKAC.html
Regards, Morten
Morten Wang nettrom@gmail.com wrote:
Looks like this was a PEBKAC[1], should have used qcronsub and not cronsub. Thanks to Sumurai8 for spotting that and suggesting ways to debug if the problem continues!
It appears that qcronsub doesn't allow me to specify all options in the shell script, though. If I specify virtual_free using #$ -l virtual_free=xxM I get this error:
nettrom@willow:~$ qcronsub SuggestBot/opentask/opentasks-nettrom.sh Unable to run job: attribute "virtual_free" is not a memory value. Exiting.
Instead I have to specify it as a command line option to qcronsub. Feature or a bug? [...]
Does it work with qsub?
Tim
Gah, another Stupid User Problem. Sorry!
Cheers, Morten
On 29 November 2012 18:33, Tim Landscheidt tim@tim-landscheidt.de wrote:
Morten Wang nettrom@gmail.com wrote:
Looks like this was a PEBKAC[1], should have used qcronsub and not
cronsub.
Thanks to Sumurai8 for spotting that and suggesting ways to debug if the problem continues!
It appears that qcronsub doesn't allow me to specify all options in the shell script, though. If I specify virtual_free using #$ -l virtual_free=xxM I get this error:
nettrom@willow:~$ qcronsub SuggestBot/opentask/opentasks-nettrom.sh Unable to run job: attribute "virtual_free" is not a memory value. Exiting.
Instead I have to specify it as a command line option to qcronsub.
Feature
or a bug? [...]
Does it work with qsub?
Tim
Toolserver-l mailing list (Toolserver-l@lists.wikimedia.org) https://lists.wikimedia.org/mailman/listinfo/toolserver-l Posting guidelines for this list: https://wiki.toolserver.org/view/Mailing_list_etiquette
toolserver-l@lists.wikimedia.org