You are here

protected function MigrateExecutable::attemptMemoryReclaim in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/migrate/src/MigrateExecutable.php \Drupal\migrate\MigrateExecutable::attemptMemoryReclaim()

Tries to reclaim memory.

Return value

int The memory usage after reclaim.

1 call to MigrateExecutable::attemptMemoryReclaim()
MigrateExecutable::memoryExceeded in core/modules/migrate/src/MigrateExecutable.php
Tests whether we've exceeded the desired memory threshold.
1 method overrides MigrateExecutable::attemptMemoryReclaim()
TestMigrateExecutable::attemptMemoryReclaim in core/modules/migrate/tests/src/Unit/TestMigrateExecutable.php
Tries to reclaim memory.

File

core/modules/migrate/src/MigrateExecutable.php, line 525
Contains \Drupal\migrate\MigrateExecutable.

Class

MigrateExecutable
Defines a migrate executable class.

Namespace

Drupal\migrate

Code

protected function attemptMemoryReclaim() {

  // First, try resetting Drupal's static storage - this frequently releases
  // plenty of memory to continue.
  drupal_static_reset();

  // Entity storage can blow up with caches so clear them out.
  $manager = \Drupal::entityManager();
  foreach ($manager
    ->getDefinitions() as $id => $definition) {
    $manager
      ->getStorage($id)
      ->resetCache();
  }

  // @TODO: explore resetting the container.
  return memory_get_usage();
}