не запускается агент на After New Mail Has Arrrived

  • Автор темы Gor
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Gor

Суть вопроса такова.
Написал агента который должен изменять Subject во всех письмах которые приходят в Inbox, причём после того как пришло новое письмо.
Вот агент -
В Document selection - выставлен Folder в который приходят письма

Initialize в агенте -
Код:
Sub Initialize
Dim As NotesDatabase
Set db = s.CurrentDatabase
Dim view As NotesView
Dim doc As NotesDocument


Set doc = view.GetFirstDocument
While Not (doc Is Nothing)
'Call doc.RemoveFromFolder("($Inbox)")
doc.subject = "ff"
Call doc.Save(True,True)
Set doc = view.GetNextDocument(doc)
Wend
End sub
В свойствах агента его запуск выставлен на событие (Event)
Событие выставлено как - After new mail has arrrived
Галка Enable в свойствах стоит

Когда посылаю письмо в базу оно приходит, но Subject не меняется.

Заметил ещё одну вещь - если событие вытавлено(Event) как Before new mail arrives и при этом код
тот же самый он отрабатывается!!!! но единственно не меняет Subject в последнем пришедшем письме.(тк событие Before new mail arrives).

Ещё небольшое замечание агент отрабатывается на событии After new mail has arrrived если его вручную запускать...

Так почему же на событие After new mail has arrrived агент не запускается автоматически?! Может опять галка какая ни-ть или ещё что то?
 
G

Gor

нет подпись не делал... А в этом может быть проблема?... Ну попробовать стоит конечно...
 
E

Elena Nefedova

Так почему же на событие After new mail has arrrived агент не запускается автоматически?! Может опять галка какая ни-ть или ещё что то?
Просто After new mail has arrrived отрабатывает раз во сколько-то там минут. Подождите сколько-то - он и отработает сразу для всех новых писем.
Это не баг, а так задумано...
 
G

GROMILA

В свойствах агента его запуск выставлен на событие (Event)
Событие выставлено как - After new mail has arrrived
Галка Enable в свойствах стоит

Настрой права доступа:
1. Подписать сервером
2. Указать от имени кого будет выполняться агент (Run on behalf of)


Когда посылаю письмо в базу оно приходит, но Subject не меняется.

Трассируй
Отладка серверного агента методом трассировки

Код:
	On Error Goto label_ErrorHandler
Dim agentLog As New NotesLog("Agent log")

Call agentLog.OpenAgentLog	' Начало трассировки

...

' Трассирвка
Call agentLog.LogAction("Обрабатывается письмо с темой " & doc.Subject(0))
...

label_Quit:	
Call agentLog.Close	' завершение трассировки
Exit Sub

label_ErrorHandler:	
Call agentLog.LogAction("Agent Error (" & Str(Err) & "): " & Error$)
Resume label_Quit


Как просмотреть лог?
1. В Дизайнере открыть окно со списком агентов
2. Стать на нужнй агент (Выделить, но не открывать)
3. Меню [Agent\Log...] или в контекстном меню выбрать [Log...]
 
30.05.2006
1 345
12
BIT
0
Просто After new mail has arrrived отрабатывает раз во сколько-то там минут. Подождите сколько-то - он и отработает сразу для всех новых писем.
Сударыня, тут вы не правЫ. По умолчанию (конечно, их мог кто-то изменить..) мыльный агент стартует в течение минуты после прихода почты.
Вот агент по Новому/Обновленному док-ту - от 5 мин до 30 (опять-же - по умолчанию)

Настрой права доступа:
1. Подписать сервером
2. Указать от имени кого будет выполняться агент (Run on behalf of)
Подписант мыльного агента должен:
1. Иметь права доступа к данной базе (и конкретному документу)
2. Иметь право выполнять фоновые агенты данного сорта на данном сервере (см. закладку Security в док-те Server)
3. Иметь ПЯ на данном сервере, точнее HomeServer=данный сервер

Последний пункт специфичен именно для PostMail -агента
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!