IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Aug 3, 2005, 5:50:08 PM (21 years ago)
Author:
eugene
Message:

psched / pscontrol / pclient dev work

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/pantasks/TaskOps.c

    r4697 r4705  
    5454  int i, valid;
    5555
     56  fprintf (stderr, "\n");
    5657  if (Ntasks == 0) {
    57     fprintf (stderr, "no defined tasks\n");
     58    fprintf (stderr, " no defined tasks\n");
    5859    return;
    5960  }
    6061
    61   fprintf (stderr, "Task Status\n");
    62   fprintf (stderr, "  name            Njobs  command\n");
     62  fprintf (stderr, " Task Status\n");
     63  fprintf (stderr, "  * Name            Njobs  Command\n");
    6364  for (i = 0; i < Ntasks; i++) {
    6465    valid = CheckTimeRanges (tasks[i][0].ranges, tasks[i][0].Nranges);
     66    if (verbose) fprintf (stderr, "\n");
    6567    if (valid) {
    66       fprintf (stderr, "+ ");
     68      fprintf (stderr, "  + ");
    6769    } else {
    68       fprintf (stderr, "- ");
     70      fprintf (stderr, "  - ");
    6971    }
    7072    if (tasks[i][0].argv == NULL) {
    71       fprintf (stderr, "%-15s %4d   %-20s\n", tasks[i][0].name, tasks[i][0].Njobs, "dynamic");
     73      fprintf (stderr, "%-15s %5d  %-20s\n", tasks[i][0].name, tasks[i][0].Njobs, "(dynamic)");
    7274    } else {
    73       fprintf (stderr, "%-15s %4d   %-20s\n", tasks[i][0].name, tasks[i][0].Njobs, tasks[i][0].argv[0]);
     75      fprintf (stderr, "%-15s %5d  %-20s\n", tasks[i][0].name, tasks[i][0].Njobs, tasks[i][0].argv[0]);
    7476    }
    7577    if (verbose) {
    7678      fprintf (stderr, "    spawn period: %f, polling period: %f, timeout period: %f\n",
    77                tasks[i][0].poll_period, tasks[i][0].poll_period, tasks[i][0].poll_period);
    78       if (tasks[i][0].host != NULL) {
    79         if (tasks[i][0].host_required) {
    80           fprintf (stderr, "    host %s (required)\n", tasks[i][0].host);
    81         } else {
    82           fprintf (stderr, "    host %s (desired)\n", tasks[i][0].host);
    83         }
     79               tasks[i][0].exec_period, tasks[i][0].poll_period, tasks[i][0].timeout_period);
     80      if (tasks[i][0].host == NULL) {
     81        fprintf (stderr, "    task runs locally\n");
     82        continue;
     83      }
     84      if (!strcasecmp(tasks[i][0].host, "ANYHOST")) {
     85        fprintf (stderr, "    task host selected by controller\n");
     86        continue;
     87      }
     88      if (tasks[i][0].host_required) {
     89        fprintf (stderr, "    host %s (required)\n", tasks[i][0].host);
    8490      } else {
    85         fprintf (stderr, "    task runs locally\n");
    86       }     
     91        fprintf (stderr, "    host %s (desired)\n", tasks[i][0].host);
     92      }
    8793    }
    8894  }
     
    102108  }
    103109
    104   fprintf (stderr, "macro %s\n", task[0].name);
    105 
    106   fprintf (stderr, "command: ");
     110  fprintf (stderr, "\n macro %s\n", task[0].name);
     111
     112  fprintf (stderr, "\n command: ");
    107113  for (i = 0; i < task[0].argc; i++) {
    108114    fprintf (stderr, "%s ", task[0].argv[i]);
    109115  }
    110 
    111   fprintf (stderr, "host: %s\n", task[0].host);
    112   fprintf (stderr, "time periods: exec: %f  poll: %f  timeout: %f\n",
     116  fprintf (stderr, "\n\n");
     117
     118  if (task[0].host == NULL) {
     119    fprintf (stderr, " task runs locally\n");
     120    goto periods;
     121  }
     122  if (!strcasecmp(task[0].host, "ANYHOST")) {
     123    fprintf (stderr, " task host selected by controller\n");
     124    goto periods;
     125  }
     126  if (task[0].host_required) {
     127    fprintf (stderr, " host %s (required)\n", task[0].host);
     128  } else {
     129    fprintf (stderr, " host %s (desired)\n", task[0].host);
     130  }
     131
     132periods:
     133  fprintf (stderr, " time periods: exec: %f  poll: %f  timeout: %f\n",
    113134           task[0].exec_period, task[0].poll_period, task[0].timeout_period);
    114135
    115   fprintf (stderr, "pre-execute macro\n");
     136  fprintf (stderr, "\n pre-execute macro\n");
    116137  ListMacro (task[0].exec);
    117138
    118   fprintf (stderr, "timeout macro\n");
     139  fprintf (stderr, "\n timeout macro\n");
    119140  ListMacro (task[0].timeout);
    120141
    121   fprintf (stderr, "crash macro\n");
     142  fprintf (stderr, "\n crash macro\n");
    122143  ListMacro (task[0].crash);
    123144
    124   fprintf (stderr, "default exit macro\n");
    125   ListMacro (task[0].def);
     145  fprintf (stderr, "\n default exit macro\n");
     146  ListMacro (task[0].defexit);
    126147
    127148  for (i = 0; i < task[0].Nexit; i++) {
    128     fprintf (stderr, "exit macro (status == %d)\n", atoi(task[0].exit[i][0].name));
     149    fprintf (stderr, "\n exit macro (status == %d)\n", atoi(task[0].exit[i][0].name));
    129150    ListMacro (task[0].exit[i]);
    130151  }
     
    192213  NewTask[0].crash = NULL;
    193214  NewTask[0].timeout = NULL;
     215  NewTask[0].defexit = NULL;
    194216
    195217  NewTask[0].Nexit = 0;
     
    211233
    212234  return (NewTask);
     235}
     236
     237/* remove the task from the task list */
     238int RemoveTask (Task *task) {
     239 
     240  int i, Nt;
     241
     242  /* find task in task list */
     243  Nt = -1;
     244  for (i = 0; i < Ntasks; i++) {
     245    if (task == tasks[i]) {
     246      Nt = i;
     247      break;
     248    }
     249  }
     250  if (Nt == -1) {
     251    fprintf (stderr, "programming error: task not found\n");
     252    return (FALSE);
     253  }
     254  for (i = Nt; i < Ntasks - 1; i++) {
     255    tasks[i] = tasks[i+1];
     256  }
     257  Ntasks --;
     258  return (TRUE);
    213259}
    214260
     
    263309  }
    264310  return (TRUE);
     311}
     312
     313Task *SetNewTask (Task *task) {
     314  NewTask = task;
     315  return (task);
    265316}
    266317
Note: See TracChangeset for help on using the changeset viewer.