After New Mail Has Arrived

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

  1. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    Добрый день.

    Существет проблема. Нужно обрабатывать письма по приходу в базу данных.
    Если поставить "Before new mail arrives", то агент запускается сразу, но обрабатывает все письма кроме того, которе только пришло.
    Если ставлю "After new mail has arrived", то агент вообще не запускается...
    Подскажите, в чем может быть дело?

    Добавлено: Может быть агент должен быть подписан сервером или т.д.
     
  2. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
  3. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    В скрипте как ты определяешь doc
    Код (Text):
    Set doc=s.DocumentContext
    У себя заметил, что есть лимит на время работы такого агента, т.е. некоторые письма этот агент пропускал
     
  4. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    susinmn , беру вьюшку и получаю все необработанные доки. Но фишка не в этом. В самом начале агента я сделал print, дабы увидеть в логе на сервере запускается ли этот агент. Он не запускается :)
     
  5. akat

    akat Lotus team
    Lotus team

    Регистрация:
    16 июн 2010
    Сообщения:
    243
    Симпатии:
    7
    Посмотрите в свойствах агента, итем $MachineName. Если там не звездочка, то убедитесь что либо это тот же сервер, на котором выполняется, либо этому (другому) серверу хватает правов.
     
  6. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
  7. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    А как понять, почтовый это сервер или нет?
     
  8. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Про *Если поставить "Before new mail arrives"*
    ну так документа нет еще в бд) нет и во вью)

    Обрабатывай вью+обрабатывай документ полученный, как Set doc=s.DocumentContext

    Если агент не стартует, пропиши в нонес.ини AMgr_DisableMailLookup=1 или через администратор Set Config AMgr_DisableMailLookup=1 и перегрузи сервер (rest rerv, если через консоль)

    +если письма туда попадают через правила сервера, агент не запускается
     
  9. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Для получения документа в агенте типа "Before new mail arrives"
    Set doc = session.DocumentContext

    Для получения коллекции документов в агенте типа "After new mail has arrived"
    Set docs = db.UnprocessedDocuments
    и не забывать Call session.UpdateProcessedDoc(doc)
     
  10. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    nvy , да это все понятно, агент тупо не запускается.

    Параметра у меня этого не было. Прописал, агент не стартует
     
  11. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    и перегрузи сервер
     
Загрузка...

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