Посмотрела в логи - а там execution time limit exceeded by agent

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

  1. anna

    anna Lotus team
    Lotus team

    Регистрация:
    3 июн 2014
    Сообщения:
    312
    Симпатии:
    8
    Добрый день
    Есть много разных агентов, но, если проанализировать логи, то десяток раз за день возникает в логах такое сообщение, что агент не успевает выполниться - Execution time limit exceeded by Agent. В настройках сервера стоит 10 минут, что и так много, на мой взгляд.
    Примечательно, что все эти агенты, вообще-то, выполняются часто, например, каждые 15 минут. А ошибки возникают спорадически.
    Что порекомендует уважаемый all?
     
  2. alexas1

    alexas1 Lotus team
    Lotus team

    Регистрация:
    10 апр 2014
    Сообщения:
    567
    Симпатии:
    214
    Может есть агенты берущие инфу за пределами сервера нотус - подключение к SQL какому нибудь?
     
  3. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    переписать на тасклеты ;)
     
  4. oshmianski

    oshmianski Достойный программист
    Lotus team

    Регистрация:
    25 апр 2012
    Сообщения:
    521
    Симпатии:
    13
    1. Рефакторинг кода проблемного агента
    2. Журнализация
     
  5. anna

    anna Lotus team
    Lotus team

    Регистрация:
    3 июн 2014
    Сообщения:
    312
    Симпатии:
    8
    так в том-то и дело, что это каждый раз разные агенты, которые обычно выполняются нормально.
    [DOUBLEPOST=1443162744,1443162723][/DOUBLEPOST]
    кто такое, почему не знаю
    [DOUBLEPOST=1443162841][/DOUBLEPOST]
    нет, все свое в той же базе пережевывают
     
  6. oshmianski

    oshmianski Достойный программист
    Lotus team

    Регистрация:
    25 апр 2012
    Сообщения:
    521
    Симпатии:
    13
    журнализация - малой кровью
     
  7. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    @anna, может он зацикливается где и в результате отпадает?
    У нас было похожее, но там был неоптимальный код, документы обрабатывались несколько раз.
    А вот если документов много, то лучше посмотреть, сколько можно обработать документов за 10 минут и делить по пачкам.
    Если идет обработка коллекции, то можно обработать первые 1000 документов, при следующем запуске еще 1000 и тд
    Если это возможно, конечно же.

    И да, логи было бы хорошо иметь. банальный Print и анализ Log.nsf может дать ответ на вопрос. Можно еще в файл писать.
     
  8. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    по странному совпадению сокращений https://ru.wikipedia.org/wiki/DOTS
    в смысле выбора направления а не диагноза :)
    http://lotusnotus.com/lotusnotus_en.nsf/dx/experimenting-dots-task-vs.-java-agent.htm
     
  9. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    выцеплять из логов муторно, а вот с файлом - надо буфера регулярно сбрасывать (переоткрывать стрим и т.п.)
     
  10. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    я бы ничего не делал - и так работает ;)
     
  11. anna

    anna Lotus team
    Lotus team

    Регистрация:
    3 июн 2014
    Сообщения:
    312
    Симпатии:
    8
    пятница такая пятница - написала обработку логов прямо в базе log, посмотрела на результат, покивала головой и забыла. А дизайн ночером обновился - и чего я такой тупой буратино - все мое поудалялось :)
    В общем, итог такой - превышение по времени вообще не связано ни со времнем, ни с какими-то определенными агентами - совершенно случайно выпадает.
    Может, это на серваке затык какой-нибудь с ос?
     
  12. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    ну да, вот просто так "затык"
    попробую угадать db.search в обычное время успевает, а в необычное неа? ;)
     
  13. anna

    anna Lotus team
    Lotus team

    Регистрация:
    3 июн 2014
    Сообщения:
    312
    Симпатии:
    8
    в смысле, если в этих агентах есть db.search, то иногда он не успевает? и что же это? занят индексатор?
     
  14. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    хм..... есть у меня подозрение что db.search никак к индексатору не привязан ;)
     
  15. anna

    anna Lotus team
    Lotus team

    Регистрация:
    3 июн 2014
    Сообщения:
    312
    Симпатии:
    8
    Окей, намек не понят. Так что не так - убирать db.search, или что сделать? Или есть какой-то способ до поиска определить, доступен ли индекс. Если что, именно search, а не ftsearch.
     
  16. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    как минимум перейти на лукапы

    а так чтобы вообще по минималке - заменить стандартный таймаут агента 15 мин на 60
     
  17. oshmianski

    oshmianski Достойный программист
    Lotus team

    Регистрация:
    25 апр 2012
    Сообщения:
    521
    Симпатии:
    13
    Никогда не доверял и не использовал search и ftsearch.

    Search - всплывают в папяти блокировки базы (семафоры), что приводит к тормозам в работе с бд.
    FTSearch - а как ему вообще можно доверять, если обновление этого индекса переодическое?

    Всегда использую коллекции, полученные из представлений по ключу.
     
    3 пользователям это понравилось.
  18. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    @oshmianski,
    Как Вы поищете, если надо искать в определённом диапазоне дат (причём полей с датами м.б. несколько) + ещё условия по другим полям, например по частям слов?
     
  19. oshmianski

    oshmianski Достойный программист
    Lotus team

    Регистрация:
    25 апр 2012
    Сообщения:
    521
    Симпатии:
    13
    NotesDateRange, NotesDocumentCollection.*(Merge, Subtract, Intersect).
    Как-то так.
    Варианты могут быть разные, иногда действительно без search или ftsearch не обойтись, но это не отменяет мою не любовь к ним.
     
  20. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    с этими интерсект... - я уже, здесь, упоминал - бился долго, пока не выкинул
    оно, сцуко, нарушает сортировку (правильнее сказать - не соблюдает)
    и если это важно - все "новомодные" ЛС докрутки использовать не получится
     
Загрузка...

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