class GameQueue
Либа, добавляет и ивлекает сообщения из общей глобальной очереди сообщений В конфиге: GameQueue.redis
= $redis GameQueue.queue_name
= ‘skyburg_main_queue’
Добавление сообщений GameQueue.push
(:combat_created, {some: ‘fucking’, super: ‘params’})
Получение сообещений GameQueue.pop
Attributes
queue_name[RW]
redis[RW]
Public Class Methods
method_missing(method_name, *params)
click to toggle source
# File lib/game-queue.rb, line 16 def self.method_missing(method_name, *params) instance.send(method_name, *params) end
Public Instance Methods
async_push(*params)
click to toggle source
См. push
# File lib/game-queue.rb, line 38 def async_push(*params) async_push_with_delay(0, params) end
async_push_with_delay(delay, *params)
click to toggle source
clean!()
click to toggle source
pop()
click to toggle source
push(message_name, message_body, errors_counter = 0)
click to toggle source
Parameters¶ ↑
message_name<String>: тип сообщения
- message_body<Object>
-
любой ruby объект с простыми данными, хэш, массив, число, строка…
- errors_counter<Integer>
-
счетчик ошибок, которые возникают при попытке обработать взятую из очереди запись
если запись после этого снова возвращается в очередь, его следует увеличить.
# File lib/game-queue.rb, line 25 def push(message_name, message_body, errors_counter = 0) redis.lpush(queue_name, Marshal.dump([message_name.to_s, message_body, errors_counter])) end