Laravel Homestead зависает при аутентификации по SSH: закрытый ключ на mac

Существует 2 способа отображения времени

  1. . Истекшее время и время, оставшееся в целом: так что истекшее будет увеличиваться, но остальное будет, вероятно, стабильным общим временем (если в секунду стабильно)
  2. Истекшее время и время влево: так что Время влево = Общее необходимое - Истекшее

Моя идея / формула более вероятна:

Обработано - обновлено с текущий поток от 0 до Total

У меня есть таймер с интервалом 1000 мс, который вычисляет обрабатываемые в секунду:

processedPerSecond = Processed - lastTickProcessed;
lastTickProcessed = Processed;  //store state from past call

обработаноPerSecond и lastTickProcessed - глобальные переменные из метода таймера

Теперь, если мы хотим получить сколько секунд потребуется для завершения обработки (в идеальном постоянном предположении) totalSecondsNeeded = TotalLines / PerSecond

, но мы хотим показать случай 2. TimeLeft так TimeLeftSeconds = (TotalLines - Обработано) / PerSecond

TimeSpan remaining = new TimeSpan(0, 0, (transactions.Count - Processed) / processedPerSecond);
labelTimeRemaining.Text = remaining.ToString(@"hh\:mm\:ss");

Конечно, TimeLeftSeconds будет «прыгать», если PerSecond перепрыгивает, поэтому, если прошлое PerSecond было 10, а затем 30, а затем назад до 10, пользователь увидит его.

Существует способ вычисления среднего значения, но это может не показать в реальном времени, если процесс ускорится в конце

int perSecond = (int)Math.Ceiling((processed / (decimal)timeElapsed.TotalSeconds));  //average not in past second

. Таким образом, разработчик может выбрать «выбрать», метод, который будет наиболее точным, основываясь на предсказании того, насколько «перегружен» процесс обработки

. Мы могли также вычислить и сохранить каждый PerSecond, а затем взять последние 10 секунд и сделать среднее, но в этом случае пользователь будет иметь подождать 10 секунд, чтобы увидеть первый расчет, или мы можем показать время, начиная с первого раза в секунду, а затем постепенно суммировать до 10 последних PerSecond

. Надеюсь, мои «нервные» мысли помогут кому-то построить что-то удовлетворяющее

23
задан Scott O-Town 5 December 2016 в 06:25
поделиться