1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

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

Пауза В Lotus Script

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

  1. orion

    orion Active Member

    Репутация:
    0
    Регистрация:
    22 окт 2013
    Сообщения:
    39
    Симпатии:
    0
    Добрый день!
    Ну бывает нужно выждать паузу при каком-то условии, чтобы повторить действие.
    Кто как организовывает паузы в Lotus Script?
     
  2. garrick

    garrick Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    26 окт 2009
    Сообщения:
    853
    Симпатии:
    68
  3. savl

    savl Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    28 окт 2011
    Сообщения:
    2.116
    Симпатии:
    157
    Sleep не поможет, клиент не активен в этот момент.
    Тут надо зацикливать действие, пока не будет результат.
     
  4. lmike

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

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.375
    Симпатии:
    336
    ждать чего?
    есть подход - в виде отдельной нити...
     
  5. orion

    orion Active Member

    Репутация:
    0
    Регистрация:
    22 окт 2013
    Сообщения:
    39
    Симпатии:
    0
    Например, нужно подождать пока разблокируется нужный документ. И открыть его для редактирования (блокируется он не человеком вручную, а автоматикой и на ограниченное небольшое время).
     
  6. savl

    savl Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    28 окт 2011
    Сообщения:
    2.116
    Симпатии:
    157
    orion
    Это надо механизм блокировки менять, а не паузы вешать.
    Иначе эта "пауза" будет:
     
  7. alexas

    alexas Well-Known Member

    Репутация:
    0
    Регистрация:
    10 июн 2009
    Сообщения:
    214
    Симпатии:
    0
    Если время действительно небольшое - проверяйте его на доступность редактирования в цикле (там можете и sleep использовать). Как будет доступен - открыть на редактирование. Только ограничить количество итераций, что бы не уйти в вечность (далее можно выдать мессагу типа: "Документ сейчас недоступен, попробуйте повторить позже"). Надо помнить, что юзер, на время цикла, ничего не сможет делать.
    Или, как предложил lmike, предупредить юзера о недоступности дока прям сейчас и организовать эту проверку в отдельной нити.
    Юзер сможет работать дальше с другими доками и, как будет доступен первый, открыть его на редактирование или сообщить о доступности. В этом случае время блокировки не критично.
     
  8. lmike

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

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.375
    Симпатии:
    336
    как POC - в дб скрипте заводим очередь и треду (а м.б. несколько) при открытии дока, если он занят - в очередь вставляем юнид, запускаем нить по отслеживанию, при освобождении дока - уведомляем пользователя (вот этот механизм надо прорабатывать, ибо просто ЮИ объект не прокатит)
     
  9. lmike

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

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.375
    Симпатии:
    336
  10. alexas

    alexas Well-Known Member

    Репутация:
    0
    Регистрация:
    10 июн 2009
    Сообщения:
    214
    Симпатии:
    0
    Такой вариант.
    Пытаемся открыть на редактирование с проверкой лока.
    Дос занят - запускаем BackGround agent в клиенте с проверкой лока в цикле (агент должен быть доступен в меню action).
    Можно выводить в status bar, что такой-то док ещё занят.
    Док освободился - показываем msgbox (это в бэкграунде можно)
    По реакции на него можно открыть док.
    Несколько таких агентов так же будут работать.
     
Загрузка...
Похожие Темы - Пауза Lotus Script
  1. cLif
    Ответов:
    0
    Просмотров:
    12
  2. Kay
    Ответов:
    1
    Просмотров:
    37
  3. cLif
    Ответов:
    0
    Просмотров:
    39
  4. Domino-Designer
    Ответов:
    0
    Просмотров:
    56
  5. anna
    Ответов:
    4
    Просмотров:
    162

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