Exemple #1
0
        private void ProcessSpeculatorEvent(SpeculatorEvent @event)
        {
            lock (this)
            {
                switch (@event.GetType())
                {
                case Speculator.EventType.AttemptStatusUpdate:
                {
                    StatusUpdate(@event.GetReportedStatus(), @event.GetTimestamp());
                    break;
                }

                case Speculator.EventType.TaskContainerNeedUpdate:
                {
                    AtomicInteger need = ContainerNeed(@event.GetTaskID());
                    need.AddAndGet(@event.ContainersNeededChange());
                    break;
                }

                case Speculator.EventType.AttemptStart:
                {
                    Log.Info("ATTEMPT_START " + @event.GetTaskID());
                    estimator.EnrollAttempt(@event.GetReportedStatus(), @event.GetTimestamp());
                    break;
                }

                case Speculator.EventType.JobCreate:
                {
                    Log.Info("JOB_CREATE " + @event.GetJobID());
                    estimator.Contextualize(GetConfig(), context);
                    break;
                }
                }
            }
        }
Exemple #2
0
 public virtual void Handle(SpeculatorEvent @event)
 {
     ProcessSpeculatorEvent(@event);
 }