Skip to content

Instantly share code, notes, and snippets.

@acao
Created September 12, 2014 21:53
Show Gist options
  • Save acao/6f5214c7ab9df34834a0 to your computer and use it in GitHub Desktop.
Save acao/6f5214c7ab9df34834a0 to your computer and use it in GitHub Desktop.
Queue Example
<?php
/**
* Implements hook_drush_command()
* goes in modulename.drush.inc
*/
function yogatrail_schedules_drush_command() {
$items = array();
$items['yt-schedules-update-classes'] = array();
return $items;
}
/**
* Implements hook_cron_queue_info().
*/
function yogatrail_schedules_cron_queue_info() {
$queues['yt_schedules_update_class'] = array(
'worker callback' => 'yogatrail_schedules_update_clasess',
);
return $queues;
}
function drush_yogatrail_schedules_yt_schedules_update_classes(){
$results = db_query('SELECT n.* FROM node n LEFT JOIN field_data_date_repeat_entity_master_uuid fd ON fd.entity_id = n.nid WHERE n.type = "class" AND fd.date_repeat_entity_master_uuid_value = n.uuid');
$queue = DrupalQueue::get('yt_schedules_regenerate_classes');
foreach ($results as $class) {
$queue->createItem($class);
}
drush_invoke('queue-run yt_schedules_update_class');
}
function yt_schedules_update_classes($class_id){
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment