1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программирован. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление
  2. Чат codeby в telegram перезагрузка. Обсуждаем вопросы информационной безопасности и методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие. Подробнее ...

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

Что Бы Одновременно Агент Дважды Не Запускался ?

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

  1. Mikle77

    Mikle77 Well-Known Member

    Репутация:
    0
    Регистрация:
    19 дек 2007
    Сообщения:
    80
    Симпатии:
    0
    Есть агент.
    Может запускаться как по расписанию так и вручную (по кнопке в которой он запускается на сервере runonserver).

    Необходимо сделать так, чтобы когда работает агент, который запустился по расписанию нельзя были запустить этого агента вручную по кнопке.

    Может в коде агента можно узщнат что он уже запущен ?
     
  2. Darkhan

    Darkhan Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    14 дек 2012
    Сообщения:
    98
    Симпатии:
    4
    Для этого можно "вручную" фиксировать где-нибудь момент запуска(и окончания) агента, при условии, что он отрабатывается на сервере
     
  3. erdi

    erdi Well-Known Member

    Репутация:
    0
    Регистрация:
    20 авг 2008
    Сообщения:
    265
    Симпатии:
    36
    в начале запуска агента создаешь документ-блокировка с полями: название агента и дата запуска, в конце убиваешь этот документ. В этом же агенте перед созданием документа-блокировки - проверка нет ли данного документа для этого агента. если есть выходишь из него, если нет - создаешь и потом удаляешь.
    Также не забываем обработчик ошибок, чтобы если вылетел агент с ошибкой он убил свой блокирующий документ и желательно еще 1 агент по времени, чтобы если все-таки зависли такие документы блокировки долгое время(30-60 минут) убивать их принудительно.
     
  4. savl

    savl Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    28 окт 2011
    Сообщения:
    2.116
    Симпатии:
    157
    1. Пересмотреть расписание.
    Не запускать по расписанию во время работы пользователей.
    2. Еще вариант оставить его только по расписанию раз в 10-30 минут и отобрать кнопку у пользователя.
    3. Сделать для документов какой-нибудь промежуточный статус и пусть агент обрабатывает только документы с этим статусом.
    На этот "левый" статус переводить документы как раз по той кнопке пользователя.
     
  5. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    3
    Регистрация:
    27 авг 2008
    Сообщения:
    6.405
    Симпатии:
    344
    запускаемый по расписанию - это агнет на сервере (как пр-ло) - создать очередь (блокировочный док - это слишком) и сообщение в нем
    клиент по кнопке проверяет очередь - не запускается если есть
     
  6. VladSh

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

    Репутация:
    0
    Регистрация:
    11 дек 2009
    Сообщения:
    1.248
    Симпатии:
    2
    "Количество одновременно запускаемых конкурентных агентов = 1" в настройках сервера не оно?
     
Загрузка...
Похожие Темы - Что Бы Одновременно
  1. Korney
    Ответов:
    7
    Просмотров:
    101
  2. sharikk
    Ответов:
    12
    Просмотров:
    613
  3. Korney
    Ответов:
    4
    Просмотров:
    325
  4. Rina
    Ответов:
    0
    Просмотров:
    308
  5. rawali
    Ответов:
    15
    Просмотров:
    1.050

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