Changeset 12444

Show
Ignore:
Timestamp:
02/14/08 13:03:39 (11 months ago)
Author:
pottedmeat
Message:

Refs #5602. Further caching updates for cron

Location:
util
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • util/branches/dev/jsdoc/jsdoc.module

    r12443 r12444  
    468468        else{ 
    469469          variable_set('jsdoc_cron_files', $files); 
    470           if (empty($files)) { 
    471             break; 
    472           } 
    473470        } 
    474471 
     
    478475        unset($contents); 
    479476        print "$file_name<br>"; 
     477        if (empty($files)) { 
     478          print 'FINISHED'; 
     479        } 
    480480        ob_flush(); 
    481481        flush(); 
     
    485485        $cache_dir = _jsdoc_get_base_path() . '/' . drupal_get_path('module', 'jsdoc') . '/cache/'; 
    486486        $ctime = call_user_func(_jsdoc_base() . '_get_file_time', $namespace, $file_name); 
     487        $cache_hit = false; 
    487488        $query = db_query("SELECT ctime, cid, namespace, filepath FROM {jsdoc_cache} WHERE namespace = '%s' AND filepath = '%s'", $namespace, $file_name); 
    488489        if ($cache = db_fetch_object($query)) { 
     
    493494          } 
    494495          else { 
    495             print 'cache hit ' . $cache->filepath . '<br>'; 
     496            $cache_hit = true; 
    496497            db_query("UPDATE {jsdoc_cache} SET used = 1 WHERE namespace = '%s' AND filepath = '%s'", $namespace, $file_name); 
    497498            $contents = unserialize(file_get_contents($cache_dir . $cache->cid)); 
     
    510511          $resource_node = _jsdoc_resource_get_or_create($contents['#resource'], $namespace); 
    511512 
     513          db_query("UPDATE {jsdoc_resources} SET used = 1 WHERE vid = %d", $provides_node->vid); 
     514          db_query("UPDATE {jsdoc_resources} SET used = 1 WHERE vid = %d", $resource_node->vid); 
     515 
     516          if ($cache_hit) { 
     517            if (!$resource_node->is_new) { 
     518              continue; 
     519            } 
     520            print 'cache hit ' . $cache->filepath . '<br>'; 
     521          } 
     522 
    512523          db_query("UPDATE {jsdoc_objects} SET used = 0 WHERE used = 1 AND version = %d AND resource_vid = %d", $version->nid, $resource_node->vid); 
    513524 
    514525          unset($project); 
    515526          unset($version); 
    516  
    517           db_query("UPDATE {jsdoc_resources} SET used = 1 WHERE vid = %d", $provides_node->vid); 
    518           db_query("UPDATE {jsdoc_resources} SET used = 1 WHERE vid = %d", $resource_node->vid); 
    519527 
    520528          db_query("DELETE FROM {jsdoc_resource_hierarchy} WHERE nid = %d AND version = %d", $provides_node->nid, jsdoc_get_version($provides_node)->nid); 
     
    37293737        return false; 
    37303738    } 
     3739    $last = variable_get('jsdoc_cron_file_ctime', 0); 
     3740    $current = filectime(_jsdoc_file_location()); 
     3741    if ($last != $current) { 
     3742      variable_set('jsdoc_cron_file_ctime', $current); 
     3743      db_query("DELETE FROM jsdoc_cache"); 
     3744    } 
    37313745    include_once(_jsdoc_file_location()); 
    37323746  } 
  • util/branches/dev/jsdoc/template.php

    r12324 r12444  
    88// Use these functions to create the equivalent tpl.php files 
    99 
    10 function phptemplate_jsdoc_object_resources($node) { 
    11   return _phptemplate_callback('jsdoc_object_resources', array('node' => $node)); 
     10// function theme_jsdoc_object_children($children) { 
     11function phptemplate_jsdoc_object_children($children) { 
     12  return _phptemplate_callback('jsdoc_object_children', array('children' => $children)); 
    1213} 
    13  
    14 function phptemplate_jsdoc_object_type($node) { 
    15   return _phptemplate_callback('jsdoc_object_type', array('node' => $node)); 
    16 } 
    17  
    18 /** 
    19  * Theme the statement used to require this file 
    20  */ 
    21 function phptemplate_jsdoc_object_require($node) { 
    22   return _phptemplate_callback('jsdoc_object_require', array('node' => $node)); 
    23 } 
    24  
    25 function phptemplate_jsdoc_function($node) { 
    26   return _phptemplate_callback('jsdoc_function', array('node' => $node)); 
    27 } 
    28  
    29 function phptemplate_jsdoc_object($node) { 
    30   return _phptemplate_callback('jsdoc_object', array('node' => $node)); 
    31 } 
    32  
    33 function phptemplate_jsdoc_object_parent($node) { 
    34   return _phptemplate_callback('jsdoc_object_parent', array('node' => $node)); 
    35 } 
    36  
    37 function phptemplate_jsdoc_class_list($nodes) { 
    38   return _phptemplate_callback('jsdoc_class_list', array('nodes' => $nodes)); 
    39 } 
    40  
    41 function phptemplate_jsdoc_function_list($nodes) { 
    42   return _phptemplate_callback('jsdoc_function_list', array('nodes' => $nodes)); 
    43 } 
    44  
    45 function phptemplate_jsdoc_field_list($nodes) { 
    46   return _phptemplate_callback('jsdoc_field_list', array('nodes' => $nodes)); 
    47 } 
    48  
    49 function phptemplate_jsdoc_any_list($nodes) { 
    50   return _phptemplate_callback('jsdoc_any_list', array('nodes' => $nodes)); 
    51 } 
  • util/trunk/docscripts/includes/dojo.inc

    r12349 r12444  
    203203      $output[$name]['chains']['prototype'][] = $args[2]->getVariable(); 
    204204      $output[$name]['chains']['call'][] = $args[2]->getVariable(); 
    205       $output[$name]['mixins']['prototype'][] = $args[2]->getVariable() . '.prototype'; 
    206205    } 
    207206    elseif ($args[2]->isA(DojoArray)) {