It seems that if the time takes to complete between the last 2 batches are very close, it will update the progress table even is the batch is 100% completed.

function progress_set_intervalled_progress($name, $message, $progress, $interval = NULL) {
  static $set = array();
  if (isset($interval, $set[$name])) {
    if ($set[$name] + $interval > microtime(TRUE)) {
      return TRUE;
    }
  }
  $result = progress_set_progress($name, $message, $progress);
  $set[$name] = microtime(TRUE);
  return $result;
}

Comments

xlin1003 created an issue. See original summary.

xlin1003’s picture

Status: Active » Needs review
StatusFileSize
new497 bytes

Patch to make sure if progress is 1, update the progress table.

xlin1003’s picture

Title: 100% completed is not always set » Progress table is not update event progress is 100% completed
xlin1003’s picture

Title: Progress table is not update event progress is 100% completed » Progress table is not update even progress is 100% completed
Issue summary: View changes
johnhuang0808’s picture

I also encountered the situation. And the patch works for me.

Thanks @xlin1003

johnhuang0808’s picture

Status: Needs review » Reviewed & tested by the community