setStartTime(time()); $importJob->clearLog(); $importJob->save(); // Okay, let's get the ImportConfig $config = $importJob->getConfig(); $config = unserialize($config); $engineClass = $config->getEngineClass(); if(!class_exists($engineClass) || !is_subclass_of($engineClass, "ImportEngine")) { $importJob->addError("Import Engine of type " . $engineClass . " not found."); $importJob->setStatus("Failed - Import Engine does not exist (${engineClass})"); $importJob->setStatusCode(ImportJob::STATUS_FAILED); $importJob->save(); exit(30); } } else { print "No job id provided.\n"; exit(10); } $importJob->addNotice("Starting Background Import Process for Job: " . $importJob->getName()); $importJob->setStatus("Running"); $importJob->setStatusCode(ImportJob::STATUS_RUNNING); $importJob->save(); $importJob->addNotice("Initializing Import Engine: " . $engineClass); $engine = new $engineClass($importJob); if(!$engine->init()) { $importJob->addError("Engine failed to initialize."); $importJob->setStatus("Failed - Engined failed to initialize."); $importJob->setStatusCode(ImportJob::STATUS_FAILED); $importJob->save(); print("Peak memory usage with import: " . memory_get_peak_usage() . "\n"); print("Memory usage at end of import: " . memory_get_usage() . "\n"); exit(40); } else { if(!$engine->import()) { $importJob->addError("Engine import process failed to complete successfully."); $importJob->setStatus("Failed - Engine import process failed to complete successfully."); $importJob->setStatusCode(ImportJob::STATUS_FAILED); $importJob->save(); print("Peak memory usage with import: " . memory_get_peak_usage() . "\n"); print("Memory usage at end of import: " . memory_get_usage() . "\n"); exit(40); } else { $importJob->setStatusCode(ImportJob::STATUS_FINISHED); $importJob->setStatus("Complete"); $importJob->setEndTime(time()); $importJob->save(); print("Peak memory usage with import: " . memory_get_peak_usage() . "\n"); print("Memory usage at end of import: " . memory_get_usage() . "\n"); } } ?>