Example #1
0
        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
            });
        }
Example #2
0
            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));
            }
Example #3
0
            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));
            }