1. Мегаконкурс в апреле "Приведи друзей на codeby". Дарим деньги, подписку на журнал хакер и выдаем статус "Paid Access". Подробнее ...

    Скрыть объявление

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

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

Наш партнер Genesis Hackspace
  1. anna

    anna Well-Known Member
    Lotus team

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

    alexas1 Well-Known Member
    Lotus team

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

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

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

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

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

    anna Well-Known Member
    Lotus team

    Регистрация:
    3 июн 2014
    Сообщения:
    345
    Симпатии:
    9
    так в том-то и дело, что это каждый раз разные агенты, которые обычно выполняются нормально.
    --- Добавлено 25 сен 2015. Первое сообщение размещено 25 сен 2015 ---
    кто такое, почему не знаю
    --- Добавлено 25 сен 2015 ---
    нет, все свое в той же базе пережевывают
     
  6. oshmianski

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

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

    savl Well-Known Member
    Команда форума Lotus team

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

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

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.216
    Симпатии:
    309
    по странному совпадению сокращений 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.216
    Симпатии:
    309
    выцеплять из логов муторно, а вот с файлом - надо буфера регулярно сбрасывать (переоткрывать стрим и т.п.)
     
  10. ToxaRat

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

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

    anna Well-Known Member
    Lotus team

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

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

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

    anna Well-Known Member
    Lotus team

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

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

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

    anna Well-Known Member
    Lotus team

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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