4 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionProcessLocker.php';
35 $this->lockFileHandles =
array();
43 parent::onBeforeExecutingTestStartOperation();
44 $this->
requestLock(self::PROCESS_NAME_TEST_START_LOCK_CHECK);
52 $this->
releaseLock(self::PROCESS_NAME_TEST_START_LOCK_CHECK);
53 parent::onAfterExecutingTestStartOperation();
61 parent::onBeforeExecutingRandomPassBuildOperation($withTaxonomyTables);
62 $this->
requestLock(self::PROCESS_NAME_RANDOM_PASS_BUILD);
70 $this->
releaseLock(self::PROCESS_NAME_RANDOM_PASS_BUILD);
71 parent::onAfterExecutingRandomPassBuildOperation($withTaxonomyTables);
79 parent::onBeforeExecutingTestStartOperation();
89 parent::onAfterExecutingTestStartOperation();
95 $this->lockFileHandles[$processName] = fopen($lockFilePath,
'w');
96 flock($this->lockFileHandles[$processName], LOCK_EX);
101 $path = $this->lockFileStorage->getPath();
102 return $path.
'/'.$processName.
'.lock';
107 flock($this->lockFileHandles[$processName], LOCK_UN);
108 fclose($this->lockFileHandles[$processName]);
onAfterExecutingTestFinishOperation()
{}
releaseLock($processName)
onAfterExecutingRandomPassBuildOperation($withTaxonomyTables=false)
{}
onBeforeExecutingTestStartOperation()
{}
onBeforeExecutingTestFinishOperation()
{}
const PROCESS_NAME_RANDOM_PASS_BUILD
const PROCESS_NAME_TEST_FINISH
Create styles array
The data for the language used.
__construct(ilTestProcessLockFileStorage $lockFileStorage)
ilTestProcessLockerFile constructor.
getLockFilePath($processName)
onAfterExecutingTestStartOperation()
{}
requestLock($processName)
onBeforeExecutingRandomPassBuildOperation($withTaxonomyTables=false)
{}
const PROCESS_NAME_TEST_START_LOCK_CHECK