You are here

function sf_queue_process_queue in Salesforce Suite 6.2

Same name and namespace in other branches
  1. 7.2 sf_queue/sf_queue.module \sf_queue_process_queue()
2 calls to sf_queue_process_queue()
sf_queue_cron in sf_queue/sf_queue.module
Implements hook_cron
sf_queue_process_queue_force in sf_queue/sf_queue.module

File

sf_queue/sf_queue.module, line 191
sf_queue.module Implements export queue and administrativa for SalesForce API

Code

function sf_queue_process_queue($settings, $state) {
  $duration = $settings['cron_period'];
  if ($duration > 0.5) {
    $duration = 0.5;
  }
  $limit = ini_get('max_execution_time') * $duration;
  $start_time = time();

  // Clean up the queue before we do any processing.
  db_query('DELETE FROM {salesforce_export_queue} WHERE sf_op IN ("delete", "update") AND (sfid IS NULL OR sfid = NULL OR sfid = "")');
  $settings = array_merge($settings, array(
    'start_time' => $start_time,
    'limit' => $limit,
  ));

  // Order of operations: delete, update, create
  if (in_array('delete', $settings['cron_operations'])) {
    sf_queue_handle_deletes($settings);
  }
  if (in_array('create', $settings['cron_operations']) || in_array('update', $settings['cron_operations'])) {
    sf_queue_handle_upserts($settings);
  }
}