Changeset 25465
- Timestamp:
- Sep 21, 2009, 2:49:37 PM (17 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
-
ippTasks/destreak.pro (modified) (8 diffs)
-
ippTools/share/magicdstool_completed_runs.sql (modified) (6 diffs)
-
ippTools/src/magicdstool.c (modified) (11 diffs)
-
ippTools/src/magicdstool.h (modified) (1 diff)
-
ippTools/src/magicdstoolConfig.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTasks/destreak.pro
r25463 r25465 13 13 ### indexes into Database lists 14 14 $magicToDS_DB = 0 15 $magicDSAdvance_DB = 0 15 16 $magicDSToRevert_DB = 0 16 17 $magicDSCompletedRevert_DB = 0 … … 41 42 ### Turn tasks on 42 43 macro destreak.on 44 # destreak and revert should not run at the same time 45 destreak.revert.off 46 43 47 task destreak.load 44 48 active true … … 47 51 active true 48 52 end 53 task destreak.advance 54 active true 55 end 49 56 end 50 57 51 58 macro destreak.revert.on 59 # destreak and revert should not run at the same time 60 destreak.off 61 52 62 task destreak.revert.load 53 63 active true … … 67 77 end 68 78 task destreak.run 79 active false 80 end 81 task destreak.advance 69 82 active false 70 83 end … … 100 113 npending 1 101 114 102 stdout NULL103 stderr $LOGDIR/magic.destreak.log115 # stdout NULL 116 # stderr $LOGSUBDIR/destreak.load.log 104 117 105 118 task.exec … … 233 246 end 234 247 248 task destreak.advance 249 # task to finish processing for magicDSRuns 250 host local 251 252 periods -poll $LOADPOLL 253 #periods -exec $LOADEXEC 254 periods -exec 30 255 periods -timeout 20 256 npending 1 257 258 # stdout NULL 259 # stderr $LOGSUBDIR/destreak.advance.log 260 261 task.exec 262 $run = magicdstool -advancerun 263 if ($DB:n != 0) 264 265 $run = $run -dbname $DB:$magicDSAdvance_DB 266 267 $magicDSAdvance_DB ++ 268 if ($magicDSAdvance_DB >= $DB:n) set magicDSAdvance_DB = 0 269 end 270 add_poll_args run 271 add_poll_labels run 272 command $run 273 end 274 275 # success 276 task.exit 0 277 end 278 279 # locked list 280 task.exit default 281 showcommand failure 282 end 283 284 task.exit crash 285 showcommand crash 286 end 287 288 # operation times out? 289 task.exit timeout 290 showcommand timeout 291 end 292 end 293 235 294 task destreak.revert.load 236 295 host local … … 386 445 387 446 stdout NULL 388 stderr $LOGSUBDIR/destreak.completed.revert 447 stderr $LOGSUBDIR/destreak.completed.revert.log 389 448 390 449 task.exec … … 398 457 $run = $run -dbname $DB:$magicDSCompletedRevert_DB 399 458 459 $magicDSCompletedRevert_DB ++ 400 460 if ($magicDSCompletedRevert_DB >= $DB:n) set magicDSCompletedRevert_DB = 0 401 461 end -
trunk/ippTools/share/magicdstool_completed_runs.sql
r24683 r25465 1 1 SELECT DISTINCT 2 magic_ds_id 2 magic_ds_id, 3 re_place, 4 label 3 5 FROM 4 6 ( 5 7 -- raw stage 6 8 SELECT 7 magicDSRun. magic_ds_id9 magicDSRun.* 8 10 FROM magicDSRun 9 11 JOIN rawImfile ON stage_id = rawImfile.exp_id … … 23 25 -- chip stage 24 26 SELECT 25 magicDSRun. magic_ds_id27 magicDSRun.* 26 28 FROM magicDSRun 27 29 JOIN chipProcessedImfile ON stage_id = chip_id … … 42 44 -- camera stage 43 45 SELECT 44 magicDSRun. magic_ds_id46 magicDSRun.* 45 47 FROM magicDSRun 46 48 JOIN camProcessedExp ON stage_id = camProcessedExp.cam_id … … 59 61 -- warp stage 60 62 SELECT 61 magicDSRun. magic_ds_id63 magicDSRun.* 62 64 FROM magicDSRun 63 65 JOIN warpSkyfile on stage_id = warp_id … … 79 81 -- diff stage 80 82 SELECT DISTINCT 81 magicDSRun. magic_ds_id83 magicDSRun.* 82 84 FROM magicDSRun 83 85 JOIN magicRun USING (magic_id) … … 101 103 AND SUM(magicDSFile.fault) = 0 102 104 103 ) as Foo105 ) as magicDSRun -
trunk/ippTools/src/magicdstool.c
r25423 r25465 37 37 static bool todestreakMode(pxConfig *config); 38 38 static bool adddestreakedfileMode(pxConfig *config); 39 static bool advancerunMode(pxConfig *config); 39 40 static bool revertdestreakedfileMode(pxConfig *config); 40 41 static bool getskycellsMode(pxConfig *config); … … 44 45 45 46 static bool setmagicDSRunState(pxConfig *config, psS64 magic_id, const char *state); 46 static bool magicDSRunComplete(pxConfig *config, bool setmagicked);47 47 static bool magicDSGetIDs(pxConfig *config, psString stage, psS64 magic_id, psS64 *stage_id, psS64 *cam_id); 48 48 … … 70 70 MODECASE(MAGICDSTOOL_MODE_TODESTREAK, todestreakMode); 71 71 MODECASE(MAGICDSTOOL_MODE_ADDDESTREAKEDFILE, adddestreakedfileMode); 72 MODECASE(MAGICDSTOOL_MODE_ADVANCERUN, advancerunMode); 72 73 MODECASE(MAGICDSTOOL_MODE_REVERTDESTREAKEDFILE,revertdestreakedfileMode); 73 74 MODECASE(MAGICDSTOOL_MODE_GETSKYCELLS, getskycellsMode); … … 119 120 PXOPT_COPY_S64(config->args, where, "-warp_id", "warp_id", "=="); 120 121 PXOPT_COPY_S64(config->args, where, "-diff_id", "diff_id", "=="); 121 PXOPT_COPY_S64(config->args, where, "-magic_id","magic _id", "==");122 PXOPT_COPY_S64(config->args, where, "-magic_id","magicRun.magic_id", "=="); 122 123 PXOPT_COPY_S32(config->args, where, "-streaks_max","streaks", "<="); 123 124 … … 661 662 } 662 663 663 if (!magicDSRunComplete(config, setmagicked)) {664 // rollback665 if (!psDBRollback(config->dbh)) {666 psError(PS_ERR_UNKNOWN, false, "database error");667 }668 psError(PS_ERR_UNKNOWN, false, "database error");669 return false;670 }671 672 664 if (!psDBCommit(config->dbh)) { 673 665 psError(PS_ERR_UNKNOWN, false, "database error"); … … 743 735 } 744 736 745 static bool magicDSRunComplete(pxConfig *config, bool setmagicked)737 static bool advancerunMode(pxConfig *config) 746 738 { 747 739 PS_ASSERT_PTR_NON_NULL(config, false); 740 741 psMetadata *where = psMetadataAlloc(); 742 PXOPT_COPY_S64(config->args, where, "-magic_ds_id", "magicDSRun.magic_ds_id", "=="); 743 pxAddLabelSearchArgs (config, where, "-label", "magicDSRun.label", "=="); 744 745 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 748 746 749 747 // look for completed magicDSRuns … … 754 752 } 755 753 754 if (psListLength(where->list)) { 755 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 756 psStringAppend(&query, " WHERE %s", whereClause); 757 psFree(whereClause); 758 } 759 756 760 if (!p_psDBRunQuery(config->dbh, query)) { 757 761 psError(PS_ERR_UNKNOWN, false, "database error"); … … 771 775 return true; 772 776 } 777 if (!psDBTransaction(config->dbh)) { 778 psError(PS_ERR_UNKNOWN, false, "database error"); 779 return false; 780 } 773 781 for (long i = 0; i < psArrayLength(output); i++) { 774 782 psMetadata *row = output->data[i]; … … 776 784 psS64 magic_ds_id = psMetadataLookupS64(NULL, row, "magic_ds_id"); 777 785 778 // if requested, set stageRun.magicked 786 // if re_place, set stageRun.magicked 787 bool setmagicked = psMetadataLookupBool(NULL, row, "re_place"); 779 788 if (setmagicked && !setRunMagicked(config, magic_ds_id)) { 780 789 psError(PS_ERR_UNKNOWN, false, "failed to change stageRun.magicked for magic_ds_id: %" PRId64, 781 790 magic_ds_id); 791 if (!psDBRollback(config->dbh)) { 792 psError(PS_ERR_UNKNOWN, false, "database error"); 793 } 782 794 return false; 783 795 } … … 788 800 magic_ds_id); 789 801 psFree(output); 802 if (!psDBRollback(config->dbh)) { 803 psError(PS_ERR_UNKNOWN, false, "database error"); 804 } 790 805 return false; 791 806 } 792 807 } 793 808 if (!psDBCommit(config->dbh)) { 809 psError(PS_ERR_UNKNOWN, false, "database error"); 810 return false; 811 } 794 812 795 813 return true; … … 833 851 return true; 834 852 } 853 835 854 static bool completedrevertMode(pxConfig *config) 836 855 { -
trunk/ippTools/src/magicdstool.h
r25423 r25465 30 30 MAGICDSTOOL_MODE_TODESTREAK, 31 31 MAGICDSTOOL_MODE_ADDDESTREAKEDFILE, 32 MAGICDSTOOL_MODE_ADVANCERUN, 32 33 MAGICDSTOOL_MODE_REVERTDESTREAKEDFILE, 33 34 MAGICDSTOOL_MODE_GETSKYCELLS, -
trunk/ippTools/src/magicdstoolConfig.c
r25423 r25465 147 147 psMetadataAddU64(completedrevertArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 148 148 149 // -advancerun 150 psMetadata *advancerunArgs = psMetadataAlloc(); 151 psMetadataAddS64(advancerunArgs, PS_LIST_TAIL, "-magic_ds_id", 0, "search by magic Destreak ID", 0); 152 psMetadataAddStr(advancerunArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "define label", NULL); 153 psMetadataAddU64(advancerunArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 154 149 155 psFree(now); 150 156 … … 162 168 PXOPT_ADD_MODE("-adddestreakedfile", "add a de-streaked file", 163 169 MAGICDSTOOL_MODE_ADDDESTREAKEDFILE, adddestreakedfileArgs); 170 PXOPT_ADD_MODE("-advancerun", "change state for runs that have finished destrreaking", 171 MAGICDSTOOL_MODE_ADVANCERUN, advancerunArgs); 164 172 PXOPT_ADD_MODE("-revertdestreakedfile", " revert a faulted de-streaked file", 165 173 MAGICDSTOOL_MODE_REVERTDESTREAKEDFILE, revertdestreakedfileArgs); … … 174 182 MAGICDSTOOL_MODE_COMPLETEDREVERT, completedrevertArgs); 175 183 184 176 185 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) { 177 186 psError(PS_ERR_UNKNOWN, true, "option parsing failed");
Note:
See TracChangeset
for help on using the changeset viewer.
