потребляемое скриптом.
- Есть ГетЛист , получающий большую выборку из базы.
- идем по выборке и проводим над её элементами определенные операции
- на каждом шаге проверяем, не превысили ли мы лимит по памяти и времени
- если привысили - выдает соответствующее сообщение и завершаем работу
Проблема вот в чем: - фильтр задает сам юзер. при этом он может задать такой фильтр, что выборка станет неподъемной. Даже ГетЛист сделать по такому фильтру - ни каких ресурсов не хватит.
Есть идеи , как лучше контролировать память/время во время проведения запроса?)
Пока для себя вижу два варианта:
- сделать исскуственное ограничение на ввод фильтра. Т.е. не давать вводить такие значения,которые точно приведут к перерасходу ресурсов.
Минус варианта:Эдакий костыль, а не решение проблемы. Можно отсекать только совсем неадекватные значения. Что то "на грани" между корректной отработкой и падением заранее предвидеть не выйдет
- разбивать гет лист на множество. т.е. фильтр ( по дате) делить на 10 (например) промежутков и для каждого фильтра делать свой гетлист, потом объединять выборки.
Минус: увеличение время исполнения на выборках для корректных фильтров.
Мб, есть какое то простое решение в лоб, а я по запаре его не вижу. Поэтому , буду рад советам.
админку пилишь чтоли?
Обсуждают сегодня