Метод Notesdatabase.search

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

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

    Репутация:
    0
    Добрый день.

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

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

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

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

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

    amigolinx Гость

    Репутация:
    0
    [just joke]
    1. ctrl + break
    2. killnotes.exe
    [/just joke]

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

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

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

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

    amigolinx Гость

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

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

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

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

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

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

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

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

    Репутация:
    0
    да мне и самому надоели эти костыли, а куда денешься....

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

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

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

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

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

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

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

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

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

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

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