public async Task <List <QarnotSDK.QJob> > RetrieveAsync(IConfiguration configuration, QarnotSDK.Connection connection, CancellationToken ct) { DefaultRunConfiguration config = configuration as DefaultRunConfiguration; QarnotSDK.QJob job = null; List <QJob> listJob = null; if (!string.IsNullOrEmpty(config.Name)) { CLILogs.Debug("Retrieve QJobs by name : " + config.Name); QDataDetail <QJob> level = new QDataDetail <QJob>() { Filter = QFilter <QJob> .Eq(t => t.Name, config.Name), }; listJob = await connection.RetrieveJobsAsync(level, cancellationToken : ct); } else if (!string.IsNullOrEmpty(config.Id)) { CLILogs.Debug("Retrieve QJob by Uuid : " + config.Id); job = await connection.RetrieveJobByUuidAsync(config.Id, cancellationToken : ct); } else { CLILogs.Debug("Retrieve all the QJobs"); listJob = await connection.RetrieveJobsAsync(cancellationToken : ct); } return(listJob ?? new List <QJob>() { job }); }
private async Task <QTask> CreateRangeTaskAsync(CreateConfiguration config, QarnotSDK.Connection connect, CancellationToken ct = default(CancellationToken)) { AdvancedRanges range = new AdvancedRanges(config.Range); if (!string.IsNullOrEmpty(config.JobUuidOrShortname)) { QarnotSDK.QJob job; if (Guid.TryParse(config.JobUuidOrShortname, out var jobUuid)) { job = await connect.RetrieveJobByUuidAsync(config.JobUuidOrShortname, ct); } else { job = await connect.RetrieveJobByShortnameAsync(config.JobUuidOrShortname, ct); } return(new QarnotSDK.QTask(connect, config.Name, job, range, config.Shortname)); } else if (!string.IsNullOrEmpty(config.PoolUuidOrShortname)) { QarnotSDK.QPool pool; if (Guid.TryParse(config.PoolUuidOrShortname, out var poolUuid)) { pool = new QarnotSDK.QPool(connect, poolUuid); } else { pool = await connect.RetrievePoolByShortnameAsync(config.PoolUuidOrShortname, ct); } return(new QarnotSDK.QTask(connect, config.Name, pool, range, config.Shortname, config.WaitForPoolResourcesSynchronization)); } return(new QarnotSDK.QTask(connect, config.Name, config.Profile, range, config.Shortname)); }
private async Task <QTask> CreateInstanceTaskAsync(CreateConfiguration config, QarnotSDK.Connection connect, CancellationToken ct = default(CancellationToken)) { if (!string.IsNullOrEmpty(config.JobUuid)) { QarnotSDK.QJob job = await connect.RetrieveJobByUuidAsync(config.JobUuid, ct); return(new QarnotSDK.QTask(connect, config.Name, job, config.InstanceCount, config.Shortname)); } else if (!string.IsNullOrEmpty(config.PoolUuid)) { QarnotSDK.QPool pool = new QarnotSDK.QPool(connect, new Guid(config.PoolUuid)); return(new QarnotSDK.QTask(connect, config.Name, pool, config.InstanceCount, config.Shortname, config.WaitForPoolResourcesSynchronization)); } return(new QarnotSDK.QTask(connect, config.Name, config.Profile, config.InstanceCount, config.Shortname)); }