You are here

function views_data_export_plugin_display_export::compute_time_remaining in Views data export 7.4

Same name and namespace in other branches
  1. 6.3 plugins/views_data_export_plugin_display_export.inc \views_data_export_plugin_display_export::compute_time_remaining()
  2. 6 plugins/views_data_export_plugin_display_export.inc \views_data_export_plugin_display_export::compute_time_remaining()
  3. 6.2 plugins/views_data_export_plugin_display_export.inc \views_data_export_plugin_display_export::compute_time_remaining()
  4. 7 plugins/views_data_export_plugin_display_export.inc \views_data_export_plugin_display_export::compute_time_remaining()
  5. 7.3 plugins/views_data_export_plugin_display_export.inc \views_data_export_plugin_display_export::compute_time_remaining()

Helper function that computes the time remaining

1 call to views_data_export_plugin_display_export::compute_time_remaining()
views_data_export_plugin_display_export::execute_normal in plugins/views_data_export_plugin_display_export.inc
Compiles the next chunk of the output file.

File

plugins/views_data_export_plugin_display_export.inc, line 771
Contains the bulk export display plugin.

Class

views_data_export_plugin_display_export
The plugin that batches its rendering.

Code

function compute_time_remaining($started, $finished) {
  list($usec, $sec) = explode(' ', microtime());
  $now = (double) $usec + (double) $sec;
  $diff = round($now - $started, 0);

  // So we've taken $diff seconds to get this far.
  if ($finished > 0) {
    $estimate_total = $diff / $finished;
    $stamp = max(1, $estimate_total - $diff);

    // Round up to nearest 30 seconds.
    $stamp = ceil($stamp / 30) * 30;

    // Set the message in the batch context.
    return t('Time remaining: about @interval.', array(
      '@interval' => format_interval($stamp),
    ));
  }
}