В моей Синатра веб-приложения, у меня есть маршрут:Run, когда вы можете
get "/" do
temp = MyClass.new("hello",1)
redirect "/home"
end
Где MyClass
является:
class MyClass
@instancesArray = []
def initialize(string,id)
@string = string
@id = id
@instancesArray[id] = this
end
def run(id)
puts @instancesArray[id].string
end
end
В какой-то момент я хочу, чтобы запустить MyClass.run(1)
, но я Wouldn» t хочет, чтобы он выполнялся немедленно, потому что это замедлит реакцию серверов на некоторых клиентов. Я бы хотел, чтобы сервер подождал, чтобы запустить MyClass.run(temp)
, пока не было времени с более легкой нагрузкой. Как я могу сказать, чтобы он подождал, пока будет пустая/легкая нагрузка, а затем запустите MyClass.run(temp)
? Я могу это сделать?
Добавление
Вот некоторые примеры кода для того, что я хотел бы сделать:
$var = 0
get "/" do
$var = $var+1 # each time a request is recieved, it incriments
end
После того, что я бы цикл, который будет рассчитывать запросов/мин (так через минуту он сбросит $var
на 0, и если $var
был меньше некоторого числа, тогда он будет запускать задачи, используя увеличенную нагрузку.
Opps извините! Опечатка! Это могло бы быть лучше как комментарий. Сейчас я задал вопрос. – thesecretmaster