42 $this->lockFileHandles = array();
50 $this->
requestLock(self::PROCESS_NAME_QUESTION_WORKING_STATE_UPDATE);
58 $this->
releaseLock(self::PROCESS_NAME_QUESTION_WORKING_STATE_UPDATE);
66 $this->
requestLock(self::PROCESS_NAME_QUESTION_WORKING_STATE_UPDATE);
74 $this->
releaseLock(self::PROCESS_NAME_QUESTION_WORKING_STATE_UPDATE);
83 $this->lockFileHandles[$processName] = fopen($lockFilePath,
'w');
84 flock($this->lockFileHandles[$processName], LOCK_EX);
93 $path = $this->lockFileStorage->getAbsolutePath();
94 return $path .
'/' . $processName .
'.lock';
102 flock($this->lockFileHandles[$processName], LOCK_UN);
103 fclose($this->lockFileHandles[$processName]);
__construct(ilAssQuestionProcessLockFileStorage $lockFileStorage)
const PROCESS_NAME_QUESTION_WORKING_STATE_UPDATE
releaseLock($processName)
onAfterExecutingPersistWorkingStateOperation()
{}
ilAssQuestionProcessLockFileStorage $lockFileStorage
requestLock($processName)
getLockFilePath($processName)
onBeforeExecutingPersistWorkingStateOperation()
{}
onAfterExecutingUserSolutionAdoptOperation()
{}
onBeforeExecutingUserSolutionAdoptOperation()
{}