Esempio n. 1
0
static int extract_raw_rdl (flux_t h, int64_t j, char **rdlstr)
{
    int rc = 0;
    char key[20] = {'\0'};
    snprintf (key, 20, "lwj.%ld.rdl", j);
    if (kvs_get_string (h, key, rdlstr) < 0) {
        flux_log (h, LOG_ERR, "extract %s: %s", key, strerror (errno));
        rc = -1;
    }
    else 
        flux_log (h, LOG_DEBUG, "rdl under %s extracted", key);
    return rc;
}
Esempio n. 2
0
static int extract_raw_rdl (flux_t h, int64_t j, char **rdlstr)
{
    int rc = 0;
    char *key = xasprintf ("lwj.%"PRId64".rdl", j);
    if (kvs_get_string (h, key, rdlstr) < 0) {
        flux_log_error (h, "extract %s", key);
        rc = -1;
    }
    else
        flux_log (h, LOG_DEBUG, "rdl under %s extracted", key);
    free (key);
    return rc;
}
Esempio n. 3
0
static int extract_raw_state (flux_t h, int64_t j, int64_t *s)
{
    int rc = 0;
    char key[20] = {'\0'};
    char *state = NULL;
    snprintf (key, 20, "lwj.%ld.state", j);
    if (kvs_get_string (h, key, &state) < 0) {
        flux_log (h, LOG_ERR, "extract %s: %s", key, strerror (errno));
        rc = -1;
    }
    else {
        *s = jsc_job_state2num (state);
        flux_log (h, LOG_DEBUG, "extract %s: %s", key, state);
    }
    if (state)
        free (state);
    return rc;
}
Esempio n. 4
0
static int extract_raw_state (flux_t h, int64_t j, int64_t *s)
{
    int rc = 0;
    char *key = xasprintf ("lwj.%"PRId64".state", j);
    char *state = NULL;
    if (kvs_get_string (h, key, &state) < 0) {
        flux_log_error (h, "extract %s", key);
        rc = -1;
    }
    else {
        *s = jsc_job_state2num (state);
        flux_log (h, LOG_DEBUG, "extract %s: %s", key, state);
    }
    free (key);
    if (state)
        free (state);
    return rc;
}
Esempio n. 5
0
void getas (flux_t *h, const char *key, const char *type)
{
    if (type == NULL) {
        char *value;
        if (kvs_get (h, key, &value) < 0)
            log_err_exit ("kvs_get %s", key);
        printf ("%s\n", value);
        free (value);
    }
    else if (!strcmp (type, "int")) {
        int value;
        if (kvs_get_int (h, key, &value) < 0)
            log_err_exit ("kvs_get_int %s", key);
        printf ("%d\n", value);
    }
    else if (!strcmp (type, "int64")) {
        int64_t value;
        if (kvs_get_int64 (h, key, &value) < 0)
            log_err_exit ("kvs_get_int64 %s", key);
        printf ("%" PRIi64 "\n", value);
    }
    else if (!strcmp (type, "boolean")) {
        bool value;
        if (kvs_get_boolean (h, key, &value) < 0)
            log_err_exit ("kvs_get_int64 %s", key);
        printf ("%s\n", value ? "true" : "false");
    }
    else if (!strcmp (type, "double")) {
        double value;
        if (kvs_get_double (h, key, &value) < 0)
            log_err_exit ("kvs_get_int64 %s", key);
        printf ("%f\n", value);
    }
    else if (!strcmp (type, "string")) {
        char *s;
        if (kvs_get_string (h, key, &s) < 0)
            log_err_exit ("kvs_get_string %s", key);
        printf ("%s\n", s);
        free (s);
    }
    else {
        log_msg_exit ("unknown type (use int/int64/boolean/double/string)");
    }
}