Declare queues holding items that need to be run periodically.
While there can be only one hook_cron() process running at the same time, there can be any number of processes defined here running. Because of this, long running tasks are much better suited for this API. Items queued in hook_cron() might be processed in the same cron run if there are not many items in the queue, otherwise it might take several requests, which can be run in parallel.
You can create queues, add items to them, claim them, etc without declaring the queue in this hook if you want, however, you need to take care of processing the items in the queue in that case.
An associative array where the key is the queue name and the value is again an associative array. Possible keys are:
If the cron key is not defined, the queue will not be processed by cron, and must be processed by other means.
Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.
function hook_queue_info() {
$queues['aggregator_feeds'] = array(
'title' => t('Aggregator refresh'),
'worker callback' => array(
'Drupal\\my_module\\MyClass',
'aggregatorRefresh',
),
// Only needed if this queue should be processed by cron.
'cron' => array(
'time' => 60,
),
);
return $queues;
}