add some debugging stuff to Notice
darcs-hash:20080928171407-84dde-9c6944a42a6e8e7f2fc90138336a86ae81c33763.gz
This commit is contained in:
		@@ -240,17 +240,23 @@ class Notice extends Memcached_DataObject
 | 
			
		||||
		# If outside our cache window, just go to the DB
 | 
			
		||||
		
 | 
			
		||||
		if ($offset + $limit > NOTICE_CACHE_WINDOW) {
 | 
			
		||||
			common_debug('request is too deep, just getting from DB');
 | 
			
		||||
			return Notice::getStreamDirect($qry, $offset, $limit);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		common_debug('CONNECTING TO CACHE');		
 | 
			
		||||
		# Get the cache; if we can't, just go to the DB
 | 
			
		||||
		
 | 
			
		||||
		$cache = common_memcache();
 | 
			
		||||
 | 
			
		||||
		
 | 
			
		||||
		if (!$cache) {
 | 
			
		||||
			common_debug('Failed connecting to cache; just going to db');					
 | 
			
		||||
			return Notice::getStreamDirect($qry, $offset, $limit);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		common_debug('getting from cache');
 | 
			
		||||
		
 | 
			
		||||
		# Get the notices out of the cache
 | 
			
		||||
		
 | 
			
		||||
		$notices = $cache->get(common_cache_key($cachekey));
 | 
			
		||||
@@ -258,35 +264,50 @@ class Notice extends Memcached_DataObject
 | 
			
		||||
		# On a cache hit, return a DB-object-like wrapper
 | 
			
		||||
		
 | 
			
		||||
		if ($notices) {
 | 
			
		||||
			common_debug('Cache hit!');
 | 
			
		||||
			common_debug('Got this many notices: ' . count($notices));
 | 
			
		||||
			$wrapper = new NoticeWrapper(array_slice($notices, $offset, $limit));
 | 
			
		||||
			return $wrapper;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		common_debug('Getting full window from DB.');
 | 
			
		||||
		# Otherwise, get the full cache window out of the DB
 | 
			
		||||
 | 
			
		||||
		$notice = Notice::getStreamDirect($qry, 0, NOTICE_CACHE_WINDOW);
 | 
			
		||||
		
 | 
			
		||||
		common_debug('Got notice: ' . print_r($notice, TRUE));
 | 
			
		||||
		
 | 
			
		||||
		# If there are no hits, just return the value
 | 
			
		||||
		
 | 
			
		||||
		if (!$notice) {
 | 
			
		||||
			return $notice;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		common_debug('Copying notices to an array');
 | 
			
		||||
		
 | 
			
		||||
		# Pack results into an array
 | 
			
		||||
		
 | 
			
		||||
		$notices = array();
 | 
			
		||||
 | 
			
		||||
		while ($notice->fetch()) {
 | 
			
		||||
			common_debug('Got notice: ' . print_r($notice, TRUE));
 | 
			
		||||
			$notices[] = clone($notice);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		common_debug('Array size is: '  . count($notices));
 | 
			
		||||
		
 | 
			
		||||
		# Store the array in the cache for next time
 | 
			
		||||
		
 | 
			
		||||
		$cache->set(common_cache_key($cachekey), $notices);
 | 
			
		||||
		$result = $cache->set(common_cache_key($cachekey), $notices);
 | 
			
		||||
 | 
			
		||||
		common_debug('memcached result is ' . $result);
 | 
			
		||||
 | 
			
		||||
		# return a wrapper of the array for use now
 | 
			
		||||
		
 | 
			
		||||
		$wrapper = new NoticeWrapper(array_slice($notices, $offset, $limit));
 | 
			
		||||
		
 | 
			
		||||
		common_debug('Got wrapper: ' . print_r($wrapper, TRUE));
 | 
			
		||||
		
 | 
			
		||||
		return $wrapper;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user