IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 29328


Ignore:
Timestamp:
Oct 5, 2010, 3:34:21 PM (16 years ago)
Author:
bills
Message:

improvements to control job stoppage based on fault count

Location:
trunk/ippTools
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/share/pstamptool_updatejob.sql

    r27874 r29328  
    1 UPDATE pstampJob LEFT JOIN pstampDependent USING(dep_id)
     1UPDATE pstampJob
     2    JOIN pstampRequest USING(req_id)
     3    LEFT JOIN pstampDependent USING(dep_id)
    24SET
  • trunk/ippTools/share/pxadmin_create_tables.sql

    r29321 r29328  
    14411441        imagedb    VARCHAR(64),
    14421442        rlabel     VARCHAR(64),
     1443        need_magic TINYINT,
    14431444        outdir     VARCHAR(255),
    1444         need_magic TINYINT,
     1445        fault      SMALLINT,
     1446        fault_count INT,
    14451447        PRIMARY KEY(dep_id),
    14461448        KEY(state),
    14471449        KEY(stage),
    1448         KEY(stage_id)
     1450        KEY(stage_id),
     1451        KEY(fault)
    14491452) ENGINE=innodb DEFAULT CHARSET=latin1;
    14501453
  • trunk/ippTools/src/pstamptool.c

    r29289 r29328  
    883883    PXOPT_LOOKUP_S64(req_id,    config->args, "-req_id", false, false);
    884884    PXOPT_LOOKUP_S64(dep_id,    config->args, "-dep_id", false, false);
    885 
    886     if (!job_id && !req_id && !dep_id) {
    887         psError(PS_ERR_UNKNOWN, true, "at least one of -job_id -req_id or -dep_id is required");
     885    PXOPT_LOOKUP_S32(fault_count, config->args, "-fault_count",  false, false);
     886
     887    if (!job_id && !req_id && !dep_id && !fault_count) {
     888        psError(PS_ERR_UNKNOWN, true, "at least one of -job_id -req_id -dep_id or -fault_count is required");
    888889        return false;
    889890    }
     
    904905    PXOPT_COPY_S32(config->args, where, "-fault",  "pstampJob.fault", "==");
    905906    PXOPT_COPY_STR(config->args, where, "-state",  "pstampJob.state", "==");
     907    PXOPT_COPY_S32(config->args, where, "-fault_count", "pstampJob.fault_count", ">=");
     908    pxAddLabelSearchArgs(config, where, "-label", "pstampRequest.label", "LIKE");
    906909
    907910    psString query = pxDataGet("pstamptool_updatejob.sql");
     
    948951    PXOPT_COPY_S64(config->args, where, "-dep_id", "dep_id", "==");
    949952    PXOPT_COPY_S32(config->args, where, "-fault",  "pstampDependent.fault", "==");
     953    pxAddLabelSearchArgs(config, where, "-label", "pstampRequest.label", "LIKE");
     954    // if (fault_count) {
     955        PXOPT_COPY_S32(config->args, where, "-fault_count", "pstampDependent.fault_count", ">=");
     956    // }
    950957
    951958    // XXX: How about selecting by pstampRequest.label? No. That is too dangerous by itself.
  • trunk/ippTools/src/pstamptoolConfig.c

    r29289 r29328  
    167167    psMetadataAddStr(updatejobArgs, PS_LIST_TAIL, "-state", 0,             "current state of jobs to update", 0);
    168168    psMetadataAddS16(updatejobArgs, PS_LIST_TAIL, "-fault", 0,             "current value for job fault", 0);
     169    psMetadataAddStr(updatejobArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by pstampJob label (LIKE comparision)", NULL);
     170    psMetadataAddS32(updatejobArgs, PS_LIST_TAIL, "-fault_count", 0,       "select by fault_count (>=)", 0);
    169171    psMetadataAddStr(updatejobArgs, PS_LIST_TAIL, "-set_state", 0,            "new state", NULL);
    170172    psMetadataAddS16(updatejobArgs, PS_LIST_TAIL, "-set_fault", 0,            "new result", 0);
     173    psMetadataAddU64(updatejobArgs, PS_LIST_TAIL, "-limit", 0,      "not used", 0);
    171174
    172175    // -stopdependentjob
     
    176179    psMetadataAddS64(stopdependentjobArgs, PS_LIST_TAIL,  "-dep_id", 0,       "dep_id of jobs to update", 0);
    177180    psMetadataAddS16(stopdependentjobArgs, PS_LIST_TAIL,  "-fault", 0,        "current value for dependent fault", 0);
     181    psMetadataAddS32(stopdependentjobArgs, PS_LIST_TAIL,  "-fault_count", 0,   "select by fault_count (>=)", 0);
    178182    psMetadataAddS16(stopdependentjobArgs, PS_LIST_TAIL,  "-set_fault", 0,    "new fault value for job and dependent (required)", 0);
     183    psMetadataAddStr(stopdependentjobArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by pstampJob label (LIKE comparision)", NULL);
     184    psMetadataAddU64(stopdependentjobArgs, PS_LIST_TAIL, "-limit", 0,      "not used", 0);
    179185
    180186    // -revertjob
     
    187193    psMetadataAddBool(revertjobArgs, PS_LIST_TAIL, "-clear_fault_count", 0,       "clear job fault count", false);
    188194    psMetadataAddBool(revertjobArgs, PS_LIST_TAIL, "-all", 0,       "revert all faulted jobs", false);
    189     psMetadataAddU64(revertjobArgs, PS_LIST_TAIL, "-limit", 0,      "limit result set to N items", 0);
     195    psMetadataAddU64(revertjobArgs, PS_LIST_TAIL, "-limit", 0,      "not used", 0);
    190196
    191197    // -getdependent
Note: See TracChangeset for help on using the changeset viewer.