Метод Notesdatabase.search

Тема в разделе "Lotus - Программирование", создана пользователем -, 17 авг 2010.

Статус темы:
Закрыта.
  1. Гость

    Добрый день.

    Не подскажите есть ли какой нибудь способ ограничить метод Search по времени? чтобы при продолжительном поиске (зависании) он прекращал поиск.

    Может есть какие то иные способы реализации этой идеи..

    Заранее спасибо за ответы.
     
  2. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    Ctrl-Break ? :(
     
  3. amigolinx

    amigolinx Гость

    [just joke]
    1. ctrl + break
    2. killnotes.exe
    [/just joke]

    А вообще, в тонкости не сильно посвящен, но по превышении определенного таймаута он сам вроде как сваливается - были случаи, когда агент вылетал именно из-за тормозов фт-поиска (нагрузка сервера, не успевал ответить на запрос или что-то в этом роде)
     
  4. Гость

    А какой метод соответствует ctrl + break? Мне из кода нужно подобное сделать..
     
  5. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    зачем это "из кода" ?
    прервать поиск не получив резалт - и что дальше?
     
  6. amigolinx

    amigolinx Гость

    эммм, никакой не соответствует, ибо и "даром не нать"...
    попытайтесь зайти с другой стороны, оптимизировав и сузив формулу поиска, cutoff date урежьте, maxdocs пропишите, вобщем как можно сильнее урежьте ему область для зависания, разбив по возможности поиск на куски что ли...
     
  7. Гость

    поиск делается по ФИО, с указанием любой части этого ФИО. Если долго ищет, то следовательно надо бы конкретизировать запрос. А порой он просто подвисает....

    Добавлено:
    жаль что не соответствует. Урезать увы не могу, нужно делать поиск по всем данным базы. А поводу зависания, он порой зависает и на элементарных запросах, то что раньше обрабатывал за доли секунды. Почему так, не понимаю..
     
  8. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    -сделать индекс на мультивалюйное поле и не юзать Search
    -сделать адресную книгу и пользовать штатный эхиад
     
  9. Гость

    программа на C#. К лотусу подключаюсь "как есть". Запрос только для подтягивания данных и отображения со своими. Так что индексы построить не в моей компетенции...
     
  10. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    опять костыли...
    мда
    тогда ответ для вас - НИКАК, либо рвать сессию в глюкавой КОМе
    пущайте отдельно тредой и прибивайте её
     
  11. Гость

    да мне и самому надоели эти костыли, а куда денешься....

    можно про "рвать сессию" поподробнее плиз. Искал инфу на эту тему, не нашел..
     
  12. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    ну выж сессию открываете...?
    делайте в отдельной нити, на шарпее (я не знаю его синтаксиса и библиотек)
    дальше - join (это в джава) нити, по таймауту
    как на такое "закрытие" откинется нотусовая КОМа - я не знаю... (возможно стрепит)
     
  13. Гость

    я пробывал запускать поиск в потоке, и в случае зависания убивать его. однако же Abort() не убивает запущенный поиск. поток переходит в состояние ожидания.

    Все равно спасибо, ответ на главный вопрос получен: на Search нельзя поставить тайм-аут, буду искать другие решения.
     
  14. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    не понимаю - почему треда не прибивается
    но это могут быть корявости шарпея или не Abort надо (или параметры какие)
     
  15. Гость

    честно говоря сам не понимаю, поток не завершится пока не выполнится Seach. И только когда Seacrh выполнится будет выполнено завершение потока Abort. Соответствено при зависании получается трабл....
     
  16. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей