function sf_queue_process_queue in Salesforce Suite 7.2
Same name and namespace in other branches
- 6.2 sf_queue/sf_queue.module \sf_queue_process_queue()
@todo Please document this function.
See also
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 - @todo Please document this function.
File
- sf_queue/
sf_queue.module, line 202 - 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 = REQUEST_TIME;
// Clean up the queue before we do any processing.
// TODO Please review the conversion of this statement to the D7 database API syntax.
/* db_query('DELETE FROM {salesforce_export_queue} WHERE sf_op IN ("delete", "update") AND (sfid IS NULL OR sfid = NULL OR sfid = "")') */
db_delete('salesforce_export_queue')
->where('sf_op IN ("delete", "update") AND (sfid IS NULL OR sfid = NULL OR sfid = "")')
->execute();
$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);
}
}