Class
MemoryStoreQueue
NotCreatableNotReplicated
Provides access to a queue within MemoryStore.
Provides access to a queue within MemoryStore. A queue is a data structure that provides temporary storage for arbitrary items (up to the maximum item size -- see MemoryStore Limits). Each queue item has a numeric priority: MemoryStore retrieves items with higher priority from the queue first, and it retrieves Items with the same priority in order of addition.
Items in the queue can optionally be set to expire after a certain amount of time. Expired items simply disappear from the queue as if they were never added.
Methods 4#
| AddAsync | Adds an item to the queue.Yields |
| GetSizeAsync | Gets the size of the queue.Yields |
| ReadAsync | Reads one or more items from the queue.Yields |
| RemoveAsync | Removes an item or items previously read from the queue.Yields |
AddAsync(value: Variant, expiration: int64, priority: double = 0): ()#
Yields
Adds an item to the queue with the given priority and expiration. Items
with a higher priority are retrieved from the queue before items with a
lower priority, and items with the same priority are retrieved in the
order they were added; priority defaults to 0. The expiration value,
in seconds, sets how long the item remains in the queue before it is
automatically removed. This method yields until the item has been added.
| Name | Type | Default | Description |
|---|---|---|---|
value | Variant | The value of the item to add to the queue. | |
expiration | int64 | Item expiration time, in seconds, after which the item will be automatically removed from the queue. | |
priority | double | 0 | Item priority. Items with higher priority are retrieved from the queue before items with lower priority. |
Returns
()
GetSizeAsync(excludeInvisible: boolean = false): int#
Yields
Returns the number of items currently in the queue. By default the
returned count includes invisible items -- items that have been read with
MemoryStoreQueue:ReadAsync() but not yet removed and whose
invisibility timeout has not expired. Set the excludeInvisible parameter
to true to omit these items from the count; it defaults to false. This
method yields until the size is retrieved.
| Name | Type | Default | Description |
|---|---|---|---|
excludeInvisible | boolean | false | Determines whether to exclude invisible items from the size count. |
Returns
int— The number of items currently in the queue. Items that have been read but not yet removed (invisible items) are included in the count unlessexcludeInvisibleistrue.
ReadAsync(count: int, allOrNothing: boolean = false, waitTimeout: double = -1): Tuple#
Yields
Reads one or more items from the queue as a single atomic operation.
This method does not automatically delete the returned items from the
queue but makes them invisible to other ReadAsync calls for the period of
the invisibility timeout. The items must be explicitly removed from the
queue with MemoryStoreQueue:RemoveAsync() before the invisibility
timeout expires. The invisibility timeout defaults to 30 seconds unless a
different value was provided in MemoryStoreService:GetQueue().
| Name | Type | Default | Description |
|---|---|---|---|
count | int | Number of items to read. The maximum allowed value of this parameter is 100. | |
allOrNothing | boolean | false | Controls the behavior of the method in the case the queue has fewer
than count items: if set to false the method returns all available
items; if set to true, it returns no items. The default value is
false. |
waitTimeout | double | -1 | The duration, in seconds, for which the method will wait if the required number of items is not immediately available in the queue. Reads are attempted every two seconds during this period. This parameter can be set to zero to indicate no wait. If this parameter is not provided or set to -1, the method will wait indefinitely. |
Returns
Tuple— A tuple of two elements. The first element is an array of item values read from the queue. The second element is a string identifier that should be passed toMemoryStoreQueue:RemoveAsync()to permanently remove these items from the queue.
RemoveAsync(id: string): ()#
Yields
Removes an item or items previously read from the queue. This method uses
the identifier returned by MemoryStoreQueue:ReadAsync() to
identify the items to remove. If called after the invisibility timeout has
expired, the call has no effect.
| Name | Type | Default | Description |
|---|---|---|---|
id | string | Identifies the items to delete. Use the value returned by
MemoryStoreQueue:ReadAsync(). |
Returns
()
Inherited members#
Inherited from Instance 58
Properties (10)
Archivable, archivable, Capabilities, IsInSandbox, Name, Parent, PredictionMode, RobloxLocked, Sandboxed, UniqueId
Methods (39)
AddTag, children, ClearAllChildren, Clone, clone, Destroy, destroy, FindFirstAncestor, FindFirstAncestorOfClass, FindFirstAncestorWhichIsA, FindFirstChild, findFirstChild, FindFirstChildOfClass, FindFirstChildWhichIsA, FindFirstDescendant, GetActor, GetAttribute, GetAttributeChangedSignal, GetAttributes, GetChildren, getChildren, GetDebugId, GetDescendants, GetFullName, GetStyled, GetStyledPropertyChangedSignal, GetTags, HasTag, IsAncestorOf, IsDescendantOf, isDescendantOf, IsPropertyModified, QueryDescendants, Remove, remove, RemoveTag, ResetPropertyToDefault, SetAttribute, WaitForChild