Example #1
0
 public static void ReviveWorker(IDbConnection dbConnection, WorkerHeartbeat request)
 {
     dbConnection.Update(new Worker {
         Id = request.Id, Address = request.Address, Alive = true, LastHeartbeat = DateTime.UtcNow
     },
                         w => w.Id == request.Id);
 }
Example #2
0
        void AddNewWorker(WorkerHeartbeat request)
        {
            var worker = new Worker()
            {
                Id            = request.Id,
                Address       = request.Address,
                Alive         = true,
                LastHeartbeat = DateTime.UtcNow
            };

            WorkerQueries.AddNewWorker(DBConnection, worker);
        }
Example #3
0
        public object Post(WorkerHeartbeat request)
        {
            try
            {
                RegisteringWorker.Register(request);
            }
            catch (BadRequestException)
            {
                return(new HttpError(HttpStatusCode.BadRequest, "BadRequest"));
            }

            return(new HttpResult(new WorkerHeartbeatResponse(), HttpStatusCode.Created));
        }
Example #4
0
 public void Register(WorkerHeartbeat request)
 {
     if (Encrypt.EncryptToken(request.Time, request.Id, request.Address, request.Token))
     {
         using (IDbTransaction transaction = DBConnection.OpenTransaction())
         {
             if (!WorkerQueries.WorkerExists(DBConnection, request.Id))
             {
                 AddNewWorker(request);
             }
             else
             {
                 Revive(request);
             }
             transaction.Commit();
         }
     }
     else
     {
         throw new BadRequestException();
     }
 }
Example #5
0
 void Revive(WorkerHeartbeat request)
 {
     WorkerQueries.ReviveWorker(DBConnection, request);
 }