Exemplo n.º 1
0
        /// <summary>
        /// Handle messages sent by the client.</summary>
        protected override Task OnReceivedAsync(string connectionId, string data)
        {
            var post = JsonConvert.DeserializeObject<Post>(data);

            var command = new ExecuteCommand
                          {
                              ClientId = connectionId,
                              Code = post.Content,
                              Classes = post.Classes,
                              Submitted = DateTime.UtcNow,
                              TimeoutPeriod = ExecutionTimeout
                          };

            var message = command.GetBytes();

            var gateway = DependencyResolver.Current.GetService<RedisConnectionGateway>();
            var redis = gateway.GetConnection();

            return redis.Lists.AddLast(0, "queue:execute", message)
                              .ContinueWith(t => {
                                  if (t.IsFaulted) {
                                      return Send(new {
                                          status = "error",
                                          message = t.Exception != null ? t.Exception.Message : null
                                      });
                                  }

                                  return Send(new { status = "ok" });
                              });
        }
Exemplo n.º 2
0
        /// <summary>
        /// Handle messages sent by the client.</summary>
        protected override Task OnReceivedAsync(string connectionId, string data)
        {
            var command = new ExecuteCommand
                            {
                                ClientId = connectionId,
                                Code = data
                            };

            var message = Convert.ToBase64String(command.GetBytes());

            var gateway = DependencyResolver.Current.GetService<RedisConnectionGateway>();
            var redis = gateway.GetConnection();

            return redis.Lists.AddLast(0, "queue:execute", message)
                              .ContinueWith(t => {
                                  if (t.IsFaulted) {
                                      return Send(new {
                                          status = "error",
                                          message = t.Exception != null ? t.Exception.Message : null
                                      });
                                  }

                                  return Send(new { status = "ok" });
                              });
        }
Exemplo n.º 3
0
        /// <summary>
        /// Handle messages sent by the client.</summary>
        protected override Task OnReceivedAsync(string connectionId, string data)
        {
            var post = JsonConvert.DeserializeObject <Post>(data);

            var command = new ExecuteCommand
            {
                ClientId      = connectionId,
                Code          = post.Content,
                Classes       = post.Classes,
                Submitted     = DateTime.UtcNow,
                TimeoutPeriod = ExecutionTimeout
            };

            var message = command.GetBytes();

            var gateway = DependencyResolver.Current.GetService <RedisConnectionGateway>();
            var redis   = gateway.GetConnection();

            return(redis.Lists.AddLast(0, "queue:execute", message)
                   .ContinueWith(t => {
                if (t.IsFaulted)
                {
                    return Send(new {
                        status = "error",
                        message = t.Exception != null ? t.Exception.Message : null
                    });
                }

                return Send(new { status = "ok" });
            }));
        }