Exemplo n.º 1
0
static int batch_queue_dryrun_create (struct batch_queue *q)
{
	char *cwd = path_getcwd();

	batch_queue_set_feature(q, "local_job_queue", NULL);
	batch_queue_set_feature(q, "batch_log_name", "%s.sh");
	batch_queue_set_option(q, "cwd", cwd);
	return 0;
}
Exemplo n.º 2
0
static int batch_queue_mesos_create (struct batch_queue *q)
{
	batch_queue_set_feature(q, "mesos_job_queue", NULL);
	batch_queue_set_feature(q, "batch_log_name", "%s.mesoslog");
	batch_queue_set_feature(q, "batch_log_transactions", "%s.tr");
	batch_queue_set_feature(q, "autosize", "yes");

	return 0;
}
Exemplo n.º 3
0
static int batch_queue_wq_create (struct batch_queue *q)
{
	strncpy(q->logfile, "wq.log", sizeof(q->logfile));
	if ((q->data = work_queue_create(0)) == NULL)
		return -1;
	work_queue_enable_process_module(q->data);
	batch_queue_set_feature(q, "absolute_path", NULL);
	batch_queue_set_feature(q, "remote_rename", "%s=%s");
	batch_queue_set_feature(q, "batch_log_name", "%s.wqlog");
	batch_queue_set_feature(q, "batch_log_transactions", "%s.tr");
	return 0;
}
Exemplo n.º 4
0
struct batch_queue *batch_queue_create(batch_queue_type_t type)
{
    int i;
    struct batch_queue *q;

    q = xxmalloc(sizeof(*q));
    q->type = type;
    strncpy(q->logfile, "", sizeof(q->logfile));
    q->options = hash_table_create(0, NULL);
    q->features = hash_table_create(0, NULL);
    q->job_table = itable_create(0);
    q->output_table = itable_create(0);
    q->data = NULL;

    batch_queue_set_feature(q, "local_job_queue", "yes");
    batch_queue_set_feature(q, "batch_log_name", "%s.batchlog");
    batch_queue_set_feature(q, "gc_size", "yes");

    q->module = NULL;
    for (i = 0; batch_queue_modules[i]->type != BATCH_QUEUE_TYPE_UNKNOWN; i++)
        if (batch_queue_modules[i]->type == type)
            q->module = batch_queue_modules[i];
    if (q->module == NULL) {
        batch_queue_delete(q);
        return NULL;
    }

    if(q->module->create(q) == -1) {
        batch_queue_delete(q);
        return NULL;
    }

    debug(D_BATCH, "created queue %p (%s)", q, q->module->typestr);

    return q;
}