Ejemplo n.º 1
0
 protected function tearDown()
 {
     //		unset($this->fixture);
     //		unset($this->diContainer);
     if (class_exists('Cundd\\PersistentObjectStore\\Memory\\Manager')) {
         //			MemoryManager::freeObjectsByTag(Coordinator::MEMORY_MANAGER_TAG);
         Manager::freeAll();
     }
     gc_collect_cycles();
 }
Ejemplo n.º 2
0
 /**
  * Tries to free the given amount of memory
  *
  * @param int $size Memory to free in bytes
  * @return bool Returns if the memory could be freed
  */
 public function freeMemory($size)
 {
     $currentMemory = memory_get_usage(TRUE);
     $freedMemory = 0;
     $databases = Manager::getIdentifiersByTag(Coordinator::MEMORY_MANAGER_TAG, TRUE);
     foreach ($databases as $identifier) {
         Manager::free($identifier);
         $freedMemory += $currentMemory - memory_get_usage(TRUE);
         $currentMemory = memory_get_usage(TRUE);
         if ($freedMemory >= $size) {
             return TRUE;
         }
         //			DebugUtility::var_dump(gc_enabled(), array_keys(get_defined_vars()), GeneralUtility::formatBytes($currentMemory), GeneralUtility::formatBytes($freedMemory));
     }
     //		DebugUtility::var_dump(gc_enabled(), array_keys(get_defined_vars()), GeneralUtility::formatBytes($currentMemory), GeneralUtility::formatBytes($freedMemory));
     return FALSE;
 }
Ejemplo n.º 3
0
 /**
  * Returns the static object store
  *
  * @return array
  * @internal
  */
 public function getObjectStore()
 {
     return Manager::getObjectsByTag(self::MEMORY_MANAGER_TAG);
 }
Ejemplo n.º 4
0
 protected function tearDown()
 {
     Manager::freeAll();
 }
Ejemplo n.º 5
0
 /**
  * @param $identifier1
  * @param $identifier2
  * @param $identifier3
  */
 protected function createBigData($identifier1, $identifier2, $identifier3)
 {
     $object = new Document(array('email' => '*****@*****.**'));
     Manager::registerObject($object, $identifier1, array('tag1', 'tag2'));
     $this->assertTrue(Manager::hasObject($identifier1));
     $this->assertSame($object, Manager::getObject($identifier1));
     $object = new stdClass();
     $object->data = file_get_contents($this->checkPersonFile());
     Manager::registerObject($object, $identifier2, array('tag1', 'tag2', 'tag3'));
     $this->assertTrue(Manager::hasObject($identifier2));
     $this->assertSame($object, Manager::getObject($identifier2));
     $object = new stdClass();
     Manager::registerObject($object, $identifier3, array('tag2', 'tag3'));
     $this->assertTrue(Manager::hasObject($identifier3));
     $this->assertSame($object, Manager::getObject($identifier3));
 }
Ejemplo n.º 6
0
 /**
  * A maintenance task that will be performed when the server becomes idle
  */
 public function runMaintenance()
 {
     $this->coordinator->commitDatabases();
     Manager::cleanup();
 }