public function FeedsState::progress in Feeds 7.2
Safely report progress.
When $total == $progress, the state of the task tracked by this state is regarded to be complete.
Handles the following cases gracefully:
- $total is 0
- $progress is larger than $total
- $progress approximates $total so that $finished rounds to 1.0
Parameters
int $total: A natural number that is the total to be worked off.
int $progress: A natural number that is the progress made on $total.
File
- includes/
FeedsSource.inc, line 147 - Definition of FeedsSourceInterface, FeedsState and FeedsSource class.
Class
- FeedsState
- Status of an import or clearing operation on a source.
Code
public function progress($total, $progress) {
if ($progress > $total) {
$this->progress = FEEDS_BATCH_COMPLETE;
}
elseif ($total) {
$this->progress = (double) $progress / $total;
if ($this->progress == FEEDS_BATCH_COMPLETE && $total != $progress) {
$this->progress = 0.99;
}
}
else {
$this->progress = FEEDS_BATCH_COMPLETE;
}
}