From cc4d437f5764e355af00233e054409eef5adb42f Mon Sep 17 00:00:00 2001 From: Jacinto capote Robles <jacintocapote@gmail.com> Date: Thu, 30 Jun 2016 22:13:20 +0200 Subject: [PATCH] Added utilities functions to manage a queue to import data into datastore from endpoints #CIVIC-3123 --- dkan_datastore.module | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/dkan_datastore.module b/dkan_datastore.module index 23fa2f9..3b6ccea 100644 --- a/dkan_datastore.module +++ b/dkan_datastore.module @@ -533,3 +533,42 @@ function dkan_datastore_node_presave($node) { $wrap->field_datastore_status->set(dkan_datastore_status($node)); } } +<<<<<<< HEAD +======= + +/** + * Implements hook_cron_queue_info(). + */ +function dkan_datastore_cron_queue_info() { + $queues['dkan_datastore_queue'] = array( + 'worker callback' => 'dkan_datastore_queue_import_worker', + 'time' => 120, + 'skip on cron' => FALSE, + ); + + return $queues; +} + +/** + * Utility function for add a new resource to datastore queue. + */ +function dkan_datastore_queue_import($uuid, $fid) { + $item = array( + 'uuid' => $uuid, + 'fid' => $fid + ); + DrupalQueue::get('dkan_datastore_queue')->createItem($item); + watchdog('dkan_datastore', t('Added %file to queue for import into datastore', array('%file' => $fid))); +} + +/** + * Callback used with queue for index content into datastore. + */ +function dkan_datastore_queue_import_worker($item) { + $file = file_load($item['fid']); + $uri = $file->uri; + $file_path = file_create_url($uri); + $datastore = dkan_datastore_go($item['uuid']); + $datastore->updateByFile($file_path); +} +>>>>>>> Added utilities functions to manage a queue to import data into datastore from endpoints #CIVIC-3123 -- GitLab