mirror of
https://github.com/signalapp/Signal-Server
synced 2026-04-21 13:48:06 +01:00
26 lines
847 B
Lua
26 lines
847 B
Lua
local queueKey = KEYS[1]
|
|
local queueMetadataKey = KEYS[2]
|
|
local queueTotalIndexKey = KEYS[3]
|
|
local message = ARGV[1]
|
|
local currentTime = ARGV[2]
|
|
local sender = ARGV[3]
|
|
local guid = ARGV[4]
|
|
|
|
local messageId = redis.call("HINCRBY", queueMetadataKey, "counter", 1)
|
|
|
|
redis.call("ZADD", queueKey, "NX", messageId, message)
|
|
|
|
if sender ~= "nil" then
|
|
redis.call("HSET", queueMetadataKey, sender, messageId)
|
|
redis.call("HSET", queueMetadataKey, messageId, sender)
|
|
end
|
|
|
|
redis.call("HSET", queueMetadataKey, guid, messageId)
|
|
redis.call("HSET", queueMetadataKey, messageId .. "guid", guid)
|
|
|
|
redis.call("EXPIRE", queueKey, 7776000) -- 90 days
|
|
redis.call("EXPIRE", queueMetadataKey, 7776000) -- 90 days
|
|
|
|
redis.call("ZADD", queueTotalIndexKey, "NX", currentTime, queueKey)
|
|
return messageId
|