Problem with drupal $queue->DrupalQueue::get and $queue->createItem I am updating approx 10000 nodes using hook_cron_queue_info and hook_cron(), it execute only for 25 nodes. 
Is there any problem?

function my_module_cron_queue_info() {  
  $queues['my_module_batch'] = array(
    'worker callback' =&gt; '_my_module_process_queue',
    'skip on cron' =&gt; FALSE,
  );
  return $queues;
}


function my_module_cron() {
  $contents = lode_update_nodes(); // get node list for updation 10000 nodes.
  $queue = DrupalQueue::get('my_module_batch');
  foreach ($contents as $p_file) {
    $process_data = array(
    // set values for process
    );
    $queue-&gt;createItem($process_data);
  }
}

function _my_module_process_queue($arr) {
    // code for updation
    watchdog('update node', 'Custom msg');
}
You have to add the 'time' key in de function modulename_cron_queue_info() because the default call time for the queues are 15 seconds. In order to update 100000 nodes you need to asign more time, so you have to try adding time until all 100000 nodes are updated:

$queues['my_module_batch'] = array(
  'worker callback' =&gt; '_my_module_process_queue',
  'skip on cron' =&gt; FALSE,
  'time' =&gt; 60,
);