IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 28101


Ignore:
Timestamp:
May 25, 2010, 3:52:21 PM (16 years ago)
Author:
heather
Message:

minidvodb waiting -> to_be_merged works

Location:
branches/haf_branches/ipp.20100512/ippTasks
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/haf_branches/ipp.20100512/ippTasks/Makefile.am

    r27149 r28101  
    3131        dqstats.pro \
    3232        science.cleanup.pro \
     33        minidvodb.pro \
    3334        nightly_stacks.pro \
    3435        lossy_compress.pro
  • branches/haf_branches/ipp.20100512/ippTasks/minidvodb.pro

    r28060 r28101  
    66check.globals
    77
    8 book init minidvodbPending
    9 
    10 macro minidvodb.status
    11   book listbook minidvodbPending
    12 end
    13 
    14 macro minidvodb.reset
    15   book init minidvodbPending
    16 end
     8if (not($?haveBooks))
     9 book create MINIDVODB
     10 $haveBooks = TRUE
     11end
     12if (not($?haveSurveyBooks))
     13 book create SURVEY_MINIDVODB
     14 $haveSurveyBooks = TRUE
     15end
     16$MINIDVODB_DB = 0
     17
     18$MINIDVODB_WAIT_DB = 0
     19
     20book init minidvodbWaitlist
     21
     22macro minidvodb.wait.status
     23  book listbook minidvodbWaitlist
     24end
     25
     26macro minidvodb.wait.reset
     27  book init minidvodbWaitlist
     28end
     29
     30
    1731
    1832macro minidvodb.create.on
    19   task minidvodb.create
     33  task minidvodbcreate
    2034    active true
    2135  end
    2236end
    2337macro minidvodb.create.off
    24   task minidvodb.create
     38  task minidvodbcreate
    2539    active false
    2640  end
    2741end
    2842
    29 # this variable will cycle through the known database names
    30 
    31 $minidvodb_DB = 0
    32 $minidvodb_revert_DB = 0
     43
     44##these are the tasks that check to see if addRun processing is finished
     45##for a minidvodb in state wait
     46macro minidvodb.wait.on
     47  task minidvodb.wait.load
     48    active true
     49  end
     50  task minidvodb.wait.run
     51    active true
     52  end 
     53end
     54macro minidvodb.wait.off
     55  task minidvodb.wait.load
     56    active false
     57  end
     58  task minidvodb.wait.run
     59    active false
     60  end 
     61end
     62
     63
     64## at some point, I need to add/separate the ones for the survey task 
     65macro add.minidvodb
     66  if ($0 != 3)
     67    echo "USAGE: add.minidvodb (minidvodb_group) (dvodb)"
     68    break
     69  end
     70  book newpage MINIDVODB $1
     71  book setword MINIDVODB $1 MINIDVODB_GROUP $1
     72  book setword MINIDVODB $1 DVODB $2
     73  book setword MINIDVODB $1 STATE PENDING
     74end
     75
     76macro del.minidvodb
     77  if ($0 != 2)
     78    echo "USAGE: del.minidvodb (minidvodb)"
     79    break
     80  end
     81  book delpage MINIDVODB $1
     82end
     83
     84macro show.minidvodb
     85  if ($0 != 1)
     86    echo "USAGE: show.minidvodb"
     87    break
     88  end
     89  book listbook MINIDVODB
     90end
     91
     92
     93task           minidvodb.wait.load
     94  host         local
     95
     96  periods      -poll $LOADPOLL
     97  periods      -exec $LOADEXEC
     98  periods      -timeout 30
     99  npending     1
     100
     101  stdout NULL
     102  stderr $LOGDIR/minidvodb.wait.run.log
     103
     104  task.exec
     105    book npages MINIDVODB -var N
     106    if ($N == 0)
     107#      echo "No labels for processing"
     108      break
     109    endif
     110
     111    book getpage MINIDVODB 0 -var minidvodb_group -key STATE NEW
     112    if ("$minidvodb_group" == "NULL")
     113      # All labels have been done --- reset
     114#      echo "Resetting labels"
     115      for i 0 $N
     116        book getpage MINIDVODB $i -var minidvodb_group
     117        book setword MINIDVODB $minidvodb_group STATE NEW
     118      end
     119      book getpage MINIDVODB 0 -var minidvodb_group -key STATE NEW
     120
     121      # Select different database
     122      $MINIDVODB_DB ++
     123      if ($MINIDVODB_DB >= $DB:n) set MINIDVODB_DB = 0
     124    end
     125
     126
     127
     128
     129   
     130    $run = addtool -checkminidvodbrunaddrun -state waiting
     131    $run = $run -minidvodb_group $minidvodb_group
     132    if ($DB:n == 0)
     133      option DEFAULT
     134    else
     135      # save the DB name for the exit tasks
     136      option $DB:$MINIDVODB_DB
     137      $run = $run -dbname $DB:$MINIDVODB_DB
     138      $MINIDVODB_DB ++
     139      if ($MINIDVODB_DB >= $DB:n) set MINIDVODB_DB = 0
     140    end
     141    add_poll_args run
     142   
     143    command $run
     144  end
     145
     146  # success
     147  task.exit    0
     148    # convert 'stdout' to book format
     149    ipptool2book stdout minidvodbWaitlist -key minidvodb_id -uniq -setword dbname $options:0 -setword pantaskState INIT
     150    if ($VERBOSE > 2)
     151      book listbook minidvodbWaitlist
     152    end
     153    # delete existing entries in the appropriate pantaskStates
     154    process_cleanup minidvodbWaitlist
     155  end
     156
     157  # locked list
     158  task.exit    default
     159    showcommand failure
     160  end
     161
     162  task.exit    crash
     163    showcommand crash
     164  end
     165
     166  # operation times out?
     167  task.exit    timeout
     168    showcommand timeout
     169  end
     170end
     171
     172
     173
     174# run the chip_imfile.pl script on pending images
     175task           minidvodb.wait.run
     176  periods      -poll $RUNPOLL
     177  periods      -exec $RUNEXEC
     178  periods      -timeout 60
     179
     180  task.exec
     181    # if we are unable to run the 'exec', use a long retry time
     182    periods -exec $RUNEXEC
     183
     184    book npages minidvodbWaitlist -var N
     185    if ($N == 0) break
     186    if ($NETWORK == 0) break
     187    if ($BURNTOOLING == 1) break
     188   
     189    # look for new images in minidvodbWaitlist (pantaskState == INIT)
     190    book getpage minidvodbWaitlist 0 -var pageName -key pantaskState INIT
     191    if ("$pageName" == "NULL") break
     192
     193    book setword minidvodbWaitlist $pageName pantaskState RUN
     194    book getword minidvodbWaitlist $pageName minidvodb_id -var MINIDVODB_ID
     195    book getword minidvodbWaitlist $pageName state -var STATE
     196    stdout $LOGDIR/minidvodb.wait.run.log
     197    stderr $LOGDIR/minidvodb.wait.run.log
     198
     199    $run = addtool -updateminidvodbrun -minidvodb_id $MINIDVODB_ID -set_state to_be_merged 
     200   
     201   
     202if ($DB:n == 0)
     203      option DEFAULT
     204    else
     205      # save the DB name for the exit tasks
     206      option $DB:$MINIDVODB_DB
     207      $run = $run -dbname $DB:$MINIDVODB_DB
     208      $MINIDVODB_DB ++
     209      if ($MINIDVODB_DB >= $DB:n) set MINIDVODB_DB = 0
     210    end
     211# save the pageName for future reference below
     212    options $pageName
     213
     214
     215
     216    # create the command line
     217    if ($VERBOSE > 1)
     218      echo command $run
     219    end
     220    # if we are unable to run the 'exec', use a long retry time
     221    periods -exec 0.05
     222    command $run
     223  end
     224# default exit status
     225    task.exit    default
     226    process_exit minidvodbWaitlist $options:0 $JOB_STATUS
     227  end
     228
     229  # locked list
     230  task.exit    crash
     231    ### Getting a lot of chip crashes (no idea why), so remove verbosity for now
     232    #showcommand crash
     233    echo "hostname: $JOB_HOSTNAME"
     234
     235    # Set a fault code in the database
     236   
     237    process_exit minidvodbWaitlist $options:0 $EXIT_CRASH_ERR
     238  end
     239
     240  # operation timed out?
     241    task.exit    timeout
     242        showcommand timeout
     243    book setword minidvodbWaitlist $options:0 pantaskState TIMEOUT
     244  end
     245end
     246
     247
     248
     249
     250
     251
     252
     253
     254
     255
     256
     257
     258
     259
     260
     261
     262
     263
     264
     265
     266
     267
     268task minidvodbcreate
     269  host local
     270 
     271  periods      -poll 10
     272  periods      -exec 12000000000000
     273  periods      -timeout 30
     274   
     275   npending     1
     276task.exec   
     277active false
     278
     279  stdout $LOGDIR/minidvodb.create.log
     280  stderr $LOGDIR/minidvodb.create.log
     281
     282  # generate diff warp-warp runs
     283  #task.exec
     284    book npages MINIDVODB -var N
     285    if ($N == 0)
     286#      echo "No minidvodbs for processing"
     287      break
     288    endif
     289
     290    book getpage MINIDVODB 0 -var minidvodb -key STATE NEW
     291    if ("$minidvodb" == "NULL")
     292      # All labels have been done --- reset
     293#      echo "Resetting labels"
     294      for i 0 $N
     295        book getpage MINIDVODB $i -var label
     296        book setword MINIDVODB $minidvodb STATE NEW
     297      end
     298      book getpage MINIDVODB 0 -var minidvodb -key STATE NEW
     299
     300      # Select different database
     301      $MINIDVODB_DB ++
     302      if ($MINIDVODB_DB >= $DB:n) set MINIDVODB_DB = 0
     303    end
     304
     305    book setword MINIDVODB $minidvodb STATE DONE
     306    book getword MINIDVODB $minidvodb DVODB -var dvodb
     307   
     308    $run = minidvodb_createdb.pl
     309    $run = $run --camera GPC1
     310    $run = $run --dvodb $dvodb
     311    $run = $run --minidvodb_group $minidvodb_group
     312    $run = $run --outroot $dvodb
     313    $run = $run --redirect-output
     314    if ($DB:n == 0)
     315      option DEFAULT
     316    else
     317      $run = $run --dbname $DB:$MINIDVODB_DB
     318      option $DB:$MINIDVODB_DB
     319    end
     320   
     321#    echo $run
     322    command $run
     323  end
     324
     325  # success
     326  task.exit    0
     327#    echo "Success"
     328 end
     329
     330  # locked list
     331  task.exit    default
     332    showcommand failure
     333  end
     334
     335  task.exit    crash
     336    showcommand crash
     337  end
     338
     339  # operation times out?
     340  task.exit    timeout
     341    showcommand timeout
     342  end
     343end
     344
     345
Note: See TracChangeset for help on using the changeset viewer.