ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence Class Reference
+ Inheritance diagram for ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence:
+ Collaboration diagram for ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence:

Public Member Functions

 __construct (protected \ilDBInterface $db)
 
 setConnector (\arConnector $c)
 
 saveBucketAndItsTasks (Bucket $bucket)
 Fully updates or creates an Observer and all its tasks into the database. More...
 
 updateBucket (Bucket $bucket)
 Updates only the bucket! Use this if e.g. More...
 
 getBucketIdsOfUser (int $user_id, string $order_by="id", string $order_direction="ASC")
 
Returns
\int[] Returns an array of bucket ids for the given user Id.
More...
 
 getBucketMetaOfUser (int $user_id)
 
 getBucketIdsByState (int $state)
 
Returns
int[] Returns a list of bucket ids for the given Observer State
More...
 
 getBucketContainerId (Bucket $bucket)
 
 deleteBucket (Bucket $bucket)
 Delete the bucket and all its stuff. More...
 
 loadBuckets (array $bucket_container_ids)
 
- Public Member Functions inherited from ILIAS\BackgroundTasks\Persistence
 saveBucketAndItsTasks (Bucket $bucket)
 
 getBucketIdsOfUser (int $user_id, string $order_by="id", string $order_direction="ASC")
 
 getBucketIdsByState (int $state)
 
 loadBucket (int $bucket_container_id)
 
 loadBuckets (array $bucket_container_ids)
 
 deleteBucketById (int $bucket_id)
 Deletes the Observer AND all its tasks and values. More...
 
 deleteBucket (Bucket $bucket)
 Delete the bucket and all its stuff. More...
 
 updateBucket (Bucket $bucket)
 Updates only the bucket! Use this if e.g. More...
 
 getBucketContainerId (Bucket $bucket)
 
 getBucketMetaOfUser (int $user_id)
 

Static Public Member Functions

static instance (\ilDBInterface $db)
 

Protected Member Functions

 gc ()
 
 saveObserver (Bucket $bucket)
 
 saveTask (Task $task, int $bucketId)
 
 saveValue (Value $value, int $bucketId, int $position)
 
 getTaskContainerId (Task $task)
 
 getValueContainerId (Value $value)
 

Protected Attributes

SplObjectStorage $bucketHashToObserverContainerId
 
SplObjectStorage $taskHashToTaskContainerId
 
SplObjectStorage $valueHashToValueContainerId
 
arConnector $connector = null
 

Static Protected Attributes

static BasicPersistence $instance
 
static array $buckets = []
 
static array $tasks = []
 

Detailed Description

Definition at line 32 of file BasicPersistence.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::__construct ( protected \ilDBInterface  $db)

Definition at line 51 of file BasicPersistence.php.

52 {
53 $this->valueHashToValueContainerId = new \SplObjectStorage();
54 $this->bucketHashToObserverContainerId = new \SplObjectStorage();
55 $this->taskHashToTaskContainerId = new \SplObjectStorage();
56 }

Member Function Documentation

◆ deleteBucket()

ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::deleteBucket ( Bucket  $bucket)

Delete the bucket and all its stuff.

Implements ILIAS\BackgroundTasks\Persistence.

Definition at line 497 of file BasicPersistence.php.

497 : void
498 {
499 $id = $this->getBucketContainerId($bucket);
500 $this->deleteBucketById($id);
501 $this->bucketHashToObserverContainerId->detach($bucket);
502 }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
deleteBucketById(int $bucket_id)
Deletes the Observer AND all its tasks and values.

References $id, ILIAS\BackgroundTasks\Persistence\deleteBucketById(), and ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\getBucketContainerId().

+ Here is the call graph for this function:

◆ gc()

ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::gc ( )
protected

Definition at line 58 of file BasicPersistence.php.

58 : void
59 {
60 $atom = $this->db->buildAtomQuery();
61
62 $atom->addTableLock('il_bt_bucket');
63 $atom->addTableLock('il_bt_task');
64 $atom->addTableLock('il_bt_value');
65 $atom->addTableLock('il_bt_value_to_task');
66 $atom->addQueryCallable(function (\ilDBInterface $db): void {
67 $this->db->manipulateF(
68 "DELETE FROM il_bt_bucket WHERE user_id = %s AND (state = %s OR state = %s) AND last_heartbeat < %s AND last_heartbeat > 0",
69 ['integer', 'integer', 'integer', 'integer'],
70 [
71 defined('ANONYMOUS_USER_ID') ? \ANONYMOUS_USER_ID : 13,
74 time() - 1 * 60 * 24 * 30
75 ]
76 );
77
78 // remove old finished buckets
79 $this->db->manipulateF(
80 "DELETE FROM il_bt_bucket WHERE state = %s AND last_heartbeat < %s AND last_heartbeat > 0",
81 ['integer', 'integer'],
82 [State::FINISHED, time() - 60 * 60 * 24 * 30] // older than 30 days
83 );
84
85 // remove old buckets with other states
86 $this->db->manipulateF(
87 "DELETE FROM il_bt_bucket WHERE state != %s AND last_heartbeat < %s AND last_heartbeat > 0",
88 ['integer', 'integer'],
89 [State::FINISHED, time() - 60 * 60 * 24 * 180] // older than 180 days
90 );
91
92 // remove tasks without a bucket
93 $this->db->manipulate(
94 "DELETE il_bt_task FROM il_bt_task LEFT JOIN il_bt_bucket ON il_bt_bucket.id = il_bt_task.bucket_id WHERE il_bt_bucket.id IS NULL;"
95 );
96
97 // remove value to bucket links without a bucket
98 $this->db->manipulate(
99 "DELETE il_bt_value_to_task FROM il_bt_value_to_task LEFT JOIN il_bt_bucket ON il_bt_bucket.id = il_bt_value_to_task.bucket_id WHERE il_bt_bucket.id IS NULL;"
100 );
101
102 // remove value to bucket links without a task
103 $this->db->manipulate(
104 "DELETE il_bt_value_to_task FROM il_bt_value_to_task LEFT JOIN il_bt_task ON il_bt_task.id = il_bt_value_to_task.task_id WHERE il_bt_task.id IS NULL;"
105 );
106
107 // remove values without a task
108 $this->db->manipulate(
109 "DELETE il_bt_value FROM il_bt_value LEFT JOIN il_bt_value_to_task ON il_bt_value_to_task.value_id = il_bt_value.id WHERE il_bt_value_to_task.id IS NULL;"
110 );
111 });
112 $atom->run();
113 }
const ANONYMOUS_USER_ID
Definition: constants.php:27
Interface ilDBInterface.

References ILIAS\$db, ANONYMOUS_USER_ID, ILIAS\BackgroundTasks\Implementation\Bucket\State\FINISHED, and ILIAS\BackgroundTasks\Implementation\Bucket\State\USER_INTERACTION.

Referenced by ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\getBucketIdsOfUser().

+ Here is the caller graph for this function:

◆ getBucketContainerId()

ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::getBucketContainerId ( Bucket  $bucket)
Exceptions
SerializationException

Implements ILIAS\BackgroundTasks\Persistence.

Definition at line 342 of file BasicPersistence.php.

342 : int
343 {
344 if (!$this->bucketHashToObserverContainerId->contains($bucket)) {
345 throw new SerializationException("Could not resolve container id of task: "
346 . print_r($bucket, true));
347 }
348
349 return (int) $this->bucketHashToObserverContainerId[$bucket];
350 }

Referenced by ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\deleteBucket(), and ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\updateBucket().

+ Here is the caller graph for this function:

◆ getBucketIdsByState()

ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::getBucketIdsByState ( int  $state)

Returns
int[] Returns a list of bucket ids for the given Observer State

Implements ILIAS\BackgroundTasks\Persistence.

Definition at line 193 of file BasicPersistence.php.

193 : array
194 {
195 $buckets = BucketContainer::where(['state' => $state])->get();
196
197 return array_map(fn(BucketContainer $bucket_container): int => $bucket_container->getId(), $buckets);
198 }
static where($where, $operator=null)

References ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\$buckets, ILIAS\BackgroundTasks\Implementation\Persistence\BucketContainer\getId(), and ActiveRecord\where().

+ Here is the call graph for this function:

◆ getBucketIdsOfUser()

ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::getBucketIdsOfUser ( int  $user_id,
string  $order_by = "id",
string  $order_direction = "ASC" 
)

Returns
\int[] Returns an array of bucket ids for the given user Id.

Implements ILIAS\BackgroundTasks\Persistence.

Definition at line 156 of file BasicPersistence.php.

156 : array
157 {
158 // Garbage Collection
159 $random = new \Random\Randomizer();
160
161 if ($random->getInt(1, 100) === 1) {
162 $this->gc();
163 }
164
165 return BucketContainer::where(['user_id' => $user_id])
166 ->orderBy($order_by, $order_direction)
167 ->getArray(null, 'id');
168 }

References ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\gc(), and ActiveRecord\where().

+ Here is the call graph for this function:

◆ getBucketMetaOfUser()

ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::getBucketMetaOfUser ( int  $user_id)
Returns
BucketMeta[]

Implements ILIAS\BackgroundTasks\Persistence.

Definition at line 173 of file BasicPersistence.php.

173 : array
174 {
175 $buckets = BucketContainer::where(['user_id' => $user_id])->get();
176
177 return array_map(function (BucketContainer $bucketContainer): BasicBucketMeta {
178 $bucketMeta = new BasicBucketMeta();
179
180 $bucketMeta->setUserId($bucketContainer->getUserId());
181 $bucketMeta->setState($bucketContainer->getState());
182 $bucketMeta->setTitle($bucketContainer->getTitle());
183 $bucketMeta->setDescription($bucketContainer->getDescription());
184 $bucketMeta->setOverallPercentage($bucketContainer->getPercentage());
185
186 return $bucketMeta;
187 }, $buckets);
188 }

References ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\$buckets, $user_id, ILIAS\BackgroundTasks\Implementation\Persistence\BucketContainer\getDescription(), ILIAS\BackgroundTasks\Implementation\Persistence\BucketContainer\getPercentage(), ILIAS\BackgroundTasks\Implementation\Persistence\BucketContainer\getState(), ILIAS\BackgroundTasks\Implementation\Persistence\BucketContainer\getTitle(), ILIAS\BackgroundTasks\Implementation\Persistence\BucketContainer\getUserId(), and ActiveRecord\where().

+ Here is the call graph for this function:

◆ getTaskContainerId()

ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::getTaskContainerId ( Task  $task)
protected
Parameters
$taskTask
Exceptions
SerializationException

Definition at line 356 of file BasicPersistence.php.

356 : int
357 {
358 if (!$this->taskHashToTaskContainerId->contains($task)) {
359 throw new SerializationException("Could not resolve container id of task: "
360 . print_r($task, true));
361 }
362
363 return (int) $this->taskHashToTaskContainerId[$task];
364 }

Referenced by ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\saveObserver(), ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\saveValue(), and ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\updateBucket().

+ Here is the caller graph for this function:

◆ getValueContainerId()

ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::getValueContainerId ( Value  $value)
protected
Exceptions
SerializationException

Definition at line 369 of file BasicPersistence.php.

369 : int
370 {
371 if (!$this->valueHashToValueContainerId->contains($value)) {
372 throw new SerializationException("Could not resolve container id of value: "
373 . print_r($value, true));
374 }
375
376 return (int) $this->valueHashToValueContainerId[$value];
377 }

◆ instance()

static ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::instance ( \ilDBInterface  $db)
static

◆ loadBuckets()

ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::loadBuckets ( array  $bucket_container_ids)
Returns
Bucket[]

Implements ILIAS\BackgroundTasks\Persistence.

Definition at line 507 of file BasicPersistence.php.

507 : array
508 {
509 $buckets = [];
510 foreach ($bucket_container_ids as $bucket_id) {
511 try {
512 $buckets[] = $this->loadBucket($bucket_id);
513 } catch (\Throwable) {
514 // there seem to be a problem with this container, we must delete it
515 $this->deleteBucketById($bucket_id);
516 }
517 }
518
519 return $buckets;
520 }
loadBucket(int $bucket_container_id)

References ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\$buckets, ILIAS\BackgroundTasks\Persistence\deleteBucketById(), and ILIAS\BackgroundTasks\Persistence\loadBucket().

+ Here is the call graph for this function:

◆ saveBucketAndItsTasks()

ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::saveBucketAndItsTasks ( Bucket  $bucket)

Fully updates or creates an Observer and all its tasks into the database.

Parameters
Bucket$bucketThe bucket you want to save.

Implements ILIAS\BackgroundTasks\Persistence.

Definition at line 124 of file BasicPersistence.php.

124 : void
125 {
126 $bucket->checkIntegrity();
127
128 $this->saveObserver($bucket);
129 }

References ILIAS\BackgroundTasks\Bucket\checkIntegrity(), and ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\saveObserver().

+ Here is the call graph for this function:

◆ saveObserver()

ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::saveObserver ( Bucket  $bucket)
protected
Parameters
Bucket$bucketThe bucket we want to save. This will recursivly save the Observer.

Definition at line 204 of file BasicPersistence.php.

204 : void
205 {
206 // If the instance has a known container we use it, otherwise we create a new container.
207 if ($this->bucketHashToObserverContainerId->contains($bucket)) {
208 $bucketContainer = new BucketContainer($this->bucketHashToObserverContainerId[$bucket], $this->connector);
209 } else {
210 $bucketContainer = new BucketContainer(0, $this->connector);
211 }
212
213 // The basic information about the task.
214 $bucketContainer->setUserId($bucket->getUserId());
215 $bucketContainer->setState($bucket->getState());
216 $bucketContainer->setTitle($bucket->getTitle());
217 $bucketContainer->setDescription($bucket->getDescription());
218 $bucketContainer->setTotalNumberoftasks(count($bucket->getTask()->unfoldTask()));
219 $bucketContainer->setPercentage($bucket->getOverallPercentage());
220
221 // We want to store the bucket ID in every sub task and value. Thus we need to create an id if not available yet.
222 if (!$bucketContainer->getId()) {
223 $bucketContainer->create();
224 }
225
226 // The recursive part.
227 $this->saveTask($bucket->getTask(), $bucketContainer->getId());
228 if (!$bucket->hasCurrentTask()) {
229 $bucket->setCurrentTask($bucket->getTask());
230 }
231 $bucketContainer->setCurrentTaskid($this->getTaskContainerId($bucket->getCurrentTask()));
232 $bucketContainer->setRootTaskid($this->getTaskContainerId($bucket->getTask()));
233
234 // Save and store the container to bucket instance.
235 $bucketContainer->save();
236 $this->bucketHashToObserverContainerId[$bucket] = $bucketContainer->getId();
237 }

References ILIAS\BackgroundTasks\Bucket\getCurrentTask(), ILIAS\BackgroundTasks\Bucket\getDescription(), ILIAS\BackgroundTasks\Bucket\getOverallPercentage(), ILIAS\BackgroundTasks\Bucket\getState(), ILIAS\BackgroundTasks\Bucket\getTask(), ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\getTaskContainerId(), ILIAS\BackgroundTasks\Bucket\getTitle(), ILIAS\BackgroundTasks\Bucket\getUserId(), ILIAS\BackgroundTasks\Bucket\hasCurrentTask(), ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\saveTask(), and ILIAS\BackgroundTasks\Bucket\setCurrentTask().

Referenced by ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\saveBucketAndItsTasks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveTask()

ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::saveTask ( Task  $task,
int  $bucketId 
)
protected
Parameters
Task$taskThe task to save.
int$bucketIdThe bucket id is needed as we want some control over what task belongs to what batch. This will recursivly save a task.

Definition at line 245 of file BasicPersistence.php.

245 : void
246 {
247 // If the instance has a known container we use it, otherwise we create a new container.
248 if ($this->taskHashToTaskContainerId->contains($task)) {
249 $taskContainer = new TaskContainer($this->taskHashToTaskContainerId[$task]);
250 } else {
251 $taskContainer = new TaskContainer(0);
252 }
253
254 // The basic information about the task.
255 $taskContainer->setType($task->getType());
256 $taskContainer->setBucketId($bucketId);
257 $reflection = new \ReflectionClass($task::class);
258 $taskContainer->setClassName($task::class);
259
260 // Recursivly save the inputs and link them to this task.
261 foreach ($task->getInput() as $k => $input) {
262 $this->saveValue($input, $bucketId, $k);
263 }
264 $this->saveValueToTask($task, $taskContainer, $bucketId);
265
266 // Save and store the container to the task instance.
267 $taskContainer->save();
268 $this->taskHashToTaskContainerId[$task] = $taskContainer->getId();
269 }

References ILIAS\BackgroundTasks\Task\getInput(), ILIAS\BackgroundTasks\Task\getType(), and ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\saveValue().

Referenced by ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\saveObserver(), and ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\saveValue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveValue()

ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::saveValue ( Value  $value,
int  $bucketId,
int  $position 
)
protected
Parameters
Value$valueThe value
int$bucketIdThe bucket id, we need it to have an overview of all values belonging to a batch. Stores the value recursively.

Definition at line 308 of file BasicPersistence.php.

308 : void
309 {
310 // If we have previous values to task associations we delete them.
311 if ($this->valueHashToValueContainerId->contains($value)) {
312 $valueContainer = new ValueContainer($this->valueHashToValueContainerId[$value], $this->connector);
313 } else {
314 $valueContainer = new ValueContainer(0, $this->connector);
315 }
316 $valueContainer->setClassName($value::class);
317 // bugfix mantis 23503
318 // $absolute_class_path = $reflection->getFileName();
319 // $relative_class_path = str_replace(ILIAS_ABSOLUTE_PATH,".",$absolute_class_path);
320 // $valueContainer->setClassPath($relative_class_path);
321 $valueContainer->setType($value->getType());
322 $valueContainer->setHasParenttask($value->hasParentTask());
323 $valueContainer->setBucketId($bucketId);
324 $valueContainer->setPosition($position);
325 $valueContainer->setHash($value->getHash());
326 $valueContainer->setSerialized($value->serialize());
327
328 // If the value is a thunk value we also store its parent.
329 if ($value->hasParentTask()) {
330 $this->saveTask($value->getParentTask(), $bucketId);
331 $valueContainer->setParentTaskid($this->getTaskContainerId($value->getParentTask()));
332 }
333
334 // We save the container and store the instance to container association.
335 $valueContainer->save();
336 $this->valueHashToValueContainerId[$value] = $valueContainer->getId();
337 }

References ILIAS\BackgroundTasks\Value\getHash(), ILIAS\BackgroundTasks\Value\getParentTask(), ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\getTaskContainerId(), ILIAS\BackgroundTasks\Value\getType(), ILIAS\BackgroundTasks\Value\hasParentTask(), and ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\saveTask().

Referenced by ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\saveTask().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setConnector()

ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::setConnector ( \arConnector  $c)

Definition at line 115 of file BasicPersistence.php.

115 : void
116 {
117 $this->connector = $c;
118 }
$c
Definition: deliver.php:25

References $c.

◆ updateBucket()

ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::updateBucket ( Bucket  $bucket)

Updates only the bucket! Use this if e.g.

the percentage or the current task changes.

Implements ILIAS\BackgroundTasks\Persistence.

Definition at line 134 of file BasicPersistence.php.

134 : void
135 {
136 $bucketContainer = new BucketContainer($this->getBucketContainerId($bucket), $this->connector);
137
138 // The basic information about the task.
139 $bucketContainer->setUserId($bucket->getUserId());
140 $bucketContainer->setState($bucket->getState());
141 $bucketContainer->setTotalNumberoftasks(count($bucket->getTask()->unfoldTask()));
142 $bucketContainer->setPercentage($bucket->getOverallPercentage());
143 $bucketContainer->setTitle($bucket->getTitle());
144 $bucketContainer->setLastHeartbeat($bucket->getLastHeartbeat());
145 $bucketContainer->setDescription($bucket->getDescription());
146 $bucketContainer->setCurrentTaskid($this->getTaskContainerId($bucket->getCurrentTask()));
147 $bucketContainer->setRootTaskid($this->getTaskContainerId($bucket->getTask()));
148
149 // Save and store the container to bucket instance.
150 $bucketContainer->update();
151 }
getLastHeartbeat()
When was the last time that something happened on this bucket?

References ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\getBucketContainerId(), ILIAS\BackgroundTasks\Bucket\getCurrentTask(), ILIAS\BackgroundTasks\Bucket\getDescription(), ILIAS\BackgroundTasks\Bucket\getLastHeartbeat(), ILIAS\BackgroundTasks\Bucket\getOverallPercentage(), ILIAS\BackgroundTasks\Bucket\getState(), ILIAS\BackgroundTasks\Bucket\getTask(), ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence\getTaskContainerId(), ILIAS\BackgroundTasks\Bucket\getTitle(), and ILIAS\BackgroundTasks\Bucket\getUserId().

+ Here is the call graph for this function:

Field Documentation

◆ $bucketHashToObserverContainerId

SplObjectStorage ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::$bucketHashToObserverContainerId
protected

Definition at line 36 of file BasicPersistence.php.

◆ $buckets

◆ $connector

arConnector ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::$connector = null
protected

Definition at line 39 of file BasicPersistence.php.

◆ $instance

BasicPersistence ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::$instance
staticprotected

◆ $taskHashToTaskContainerId

SplObjectStorage ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::$taskHashToTaskContainerId
protected

Definition at line 37 of file BasicPersistence.php.

◆ $tasks

TaskContainer[] ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::$tasks = []
staticprotected

Definition at line 40 of file BasicPersistence.php.

◆ $valueHashToValueContainerId

SplObjectStorage ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence::$valueHashToValueContainerId
protected

Definition at line 38 of file BasicPersistence.php.


The documentation for this class was generated from the following file: