Exemple #1
0
        private async Task GetByCriteria(InvocationListCriteria criteria)
        {
            var client = await OpenClient();
            if (client == null) { return; }

            ServiceResponse<IEnumerable<Invocation>> response;
            if(Limit.HasValue) {
                response = await client.Invocations.Get(criteria, Limit.Value);
            } else {
                response = await client.Invocations.Get(criteria);
            }

            if (await ReportHttpStatus(response))
            {
                var invocations = await response.ReadContent();
                await Console.WriteTable(invocations.OrderByDescending(i => i.UpdatedAt), i => new {
                    i.Job,
                    i.JobInstanceName,
                    Dq = i.DequeueCount,
                    i.Status,
                    i.Result,
                    i.Id,
                    QueuedAt = i.QueuedAt.LocalDateTime,
                    UpdatedAt = i.UpdatedAt.LocalDateTime,
                    CompletedAt = i.CompletedAt.HasValue ? i.CompletedAt.Value.LocalDateTime : (DateTimeOffset?)null,
                    i.LastUpdatedBy
                });
            }
        }
 private Task <ServiceResponse <IEnumerable <Invocation> > > GetInvocations(InvocationListCriteria criteria, int?limit)
 {
     return(Get <IEnumerable <Invocation> >("work/invocations/" + criteria.ToString().ToLowerInvariant(), new Dictionary <string, string>()
     {
         { "limit", limit == null ? null : limit.Value.ToString() }
     }));
 }
        public async Task <IHttpActionResult> Get(InvocationListCriteria criteria, int?limit = null)
        {
            if (!Enum.IsDefined(typeof(InvocationListCriteria), criteria))
            {
                return(NotFound());
            }

            return(Content(HttpStatusCode.OK, (await Queue.GetAll(criteria, limit)).Select(i => i.ToModel(Url))));
        }
Exemple #4
0
        public virtual Task <IEnumerable <InvocationState> > GetAll(InvocationListCriteria criteria, int?limit)
        {
            string subquery;
            object parameters;

            switch (criteria)
            {
            case InvocationListCriteria.All:
                subquery   = "FROM work.Invocations";
                parameters = null;
                break;

            case InvocationListCriteria.Active:
                subquery   = "FROM work.ActiveInvocations";
                parameters = null;
                break;

            case InvocationListCriteria.Completed:
                subquery   = "FROM work.Invocations WHERE Complete = 1";
                parameters = null;
                break;

            case InvocationListCriteria.Pending:
                subquery   = "FROM work.Invocations WHERE [NextVisibleAt] <= @p";
                parameters = new { now = _clock.UtcNow.UtcDateTime };
                break;

            case InvocationListCriteria.Hidden:
                subquery   = "FROM work.ActiveInvocations WHERE [NextVisibleAt] > @now";
                parameters = new { now = _clock.UtcNow.UtcDateTime };
                break;

            case InvocationListCriteria.Suspended:
                subquery   = "FROM work.ActiveInvocations WHERE [Status] = @status";
                parameters = new { status = InvocationStatus.Suspended };
                break;

            case InvocationListCriteria.Executing:
                subquery   = "FROM work.ActiveInvocations WHERE [Status] = @status";
                parameters = new { status = InvocationStatus.Executing };
                break;

            default:
                return(Task.FromResult(Enumerable.Empty <InvocationState>()));
            }
            return(ConnectAndQuery(
                       "SELECT" +
                       (limit.HasValue ? (" TOP " + limit.Value.ToString()) : String.Empty) +
                       " * " +
                       subquery +
                       " ORDER BY [UpdatedAt] DESC", parameters));
        }
        private async Task GetByCriteria(InvocationListCriteria criteria)
        {
            var client = await OpenClient();

            if (client == null)
            {
                return;
            }

            ServiceResponse <IEnumerable <Invocation> > response;

            if (Limit.HasValue)
            {
                response = await client.Invocations.Get(criteria, Limit.Value);
            }
            else
            {
                response = await client.Invocations.Get(criteria);
            }

            if (await ReportHttpStatus(response))
            {
                var invocations = await response.ReadContent();

                await Console.WriteTable(invocations.OrderByDescending(i => i.UpdatedAt), i => new {
                    i.Job,
                    i.JobInstanceName,
                    Dq = i.DequeueCount,
                    i.Status,
                    i.Result,
                    i.Id,
                    QueuedAt    = i.QueuedAt.LocalDateTime,
                    UpdatedAt   = i.UpdatedAt.LocalDateTime,
                    CompletedAt = i.CompletedAt.HasValue ? i.CompletedAt.Value.LocalDateTime : (DateTimeOffset?)null,
                    i.LastUpdatedBy
                });
            }
        }
        public async Task<IHttpActionResult> Get(InvocationListCriteria criteria, int? limit = null)
        {
            if (!Enum.IsDefined(typeof(InvocationListCriteria), criteria))
            {
                return NotFound();
            }

            return Content(HttpStatusCode.OK, (await Queue.GetAll(criteria, limit)).Select(i => i.ToModel(Url)));
        }
 private Task<ServiceResponse<IEnumerable<Invocation>>> GetInvocations(InvocationListCriteria criteria, int? limit)
 {
     return Get<IEnumerable<Invocation>>("work/invocations/" + criteria.ToString().ToLowerInvariant(), new Dictionary<string, string>()
     {
         {"limit", limit == null ? null : limit.Value.ToString()}
     });
 }
 public Task<ServiceResponse<IEnumerable<Invocation>>> Get(InvocationListCriteria criteria, int limit)
 {
     return GetInvocations(criteria, limit);
 }
Exemple #9
0
 public override Task <IEnumerable <InvocationState> > GetAll(InvocationListCriteria criteria, int?limit)
 {
     return(Task.FromResult <IEnumerable <InvocationState> >(Enumerable.Empty <InvocationState>()));
 }
Exemple #10
0
 public virtual Task <IEnumerable <InvocationState> > GetAll(InvocationListCriteria criteria)
 {
     return(GetAll(criteria, limit: null));
 }
 public override Task<IEnumerable<InvocationState>> GetAll(InvocationListCriteria criteria, int? limit)
 {
     return Task.FromResult<IEnumerable<InvocationState>>(Enumerable.Empty<InvocationState>());
 }
 public virtual Task<IEnumerable<InvocationState>> GetAll(InvocationListCriteria criteria, int? limit)
 {
     string subquery;
     object parameters;
     switch (criteria)
     {
         case InvocationListCriteria.All:
             subquery = "FROM work.Invocations";
             parameters = null;
             break;
         case InvocationListCriteria.Active:
             subquery = "FROM work.ActiveInvocations";
             parameters = null;
             break;
         case InvocationListCriteria.Completed:
             subquery = "FROM work.Invocations WHERE Complete = 1";
             parameters = null;
             break;
         case InvocationListCriteria.Pending:
             subquery = "FROM work.Invocations WHERE [NextVisibleAt] <= @p";
             parameters = new { now = _clock.UtcNow.UtcDateTime };
             break;
         case InvocationListCriteria.Hidden:
             subquery = "FROM work.ActiveInvocations WHERE [NextVisibleAt] > @now";
             parameters = new { now = _clock.UtcNow.UtcDateTime };
             break;
         case InvocationListCriteria.Suspended:
             subquery = "FROM work.ActiveInvocations WHERE [Status] = @status";
             parameters = new { status = InvocationStatus.Suspended };
             break;
         case InvocationListCriteria.Executing:
             subquery = "FROM work.ActiveInvocations WHERE [Status] = @status";
             parameters = new { status = InvocationStatus.Executing };
             break;
         default:
             return Task.FromResult(Enumerable.Empty<InvocationState>());
     }
     return ConnectAndQuery(
         "SELECT" +
         (limit.HasValue ? (" TOP " + limit.Value.ToString()) : String.Empty) +
         " * " +
         subquery +
         " ORDER BY [UpdatedAt] DESC", parameters);
 }
 public virtual Task<IEnumerable<InvocationState>> GetAll(InvocationListCriteria criteria)
 {
     return GetAll(criteria, limit: null);
 }
 public Task <ServiceResponse <IEnumerable <Invocation> > > Get(InvocationListCriteria criteria, int limit)
 {
     return(GetInvocations(criteria, limit));
 }