Проблемма!

Тема в разделе "Lotus - Администрирование", создана пользователем SOFTOBZOR.ru, 26 дек 2006.

Статус темы:
Закрыта.
  1. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    На днях перетащили сервер на новое железо.
    Конфигурация сервера (Domino) осталась неизменной, все сетевые протоколы остались тоже без изменений. Отличие только в названии машиниы (локальное название)
    Было ServerDomono1 стало ServerDomino01 - насколько мне известно это не принципиально.

    Проблема в следующем, на сервере в одной из ДБ крутится агент по расписанию.
    Но работать он не хочет, при тестовом запуске агента (В дизайнере -> Test) ошибок нет, при запуке не в тестовом режиме Выдает окно "Overflow", начинает работать и затыкается.

    В логах идет это

    26.12.2006 06:55:22 AMgr: Agent ('MyAgent' in 'Demo\basez.nsf') error message: Overflow

    Ни как не могу понять что произошло, из-за чего агент может корячится.
     
  2. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    PS

    Сам агент

    Код (Text):
    Sub Initialize

    Dim s As New NotesSession
    Dim doc As NotesDocument
    Dim nextdoc As NotesDocument
    Dim coll As NotesDocumentCollection
    Dim i As Integer
    Dim Deldocs As Integer
    Dim agentLog As NotesLog
    Set agentLog = New NotesLog("MyAgent")
    Call agentLog.OpenAgentLog
    Call agentLog.LogAction("Начало")
    Let deldocs=0
    Set col = s.CurrentDatabase.UnprocessedDocuments
    Set doc = col.GetFirstDocument
    For i = 1 To col.count
    Set nextdoc = col.GetNextDocument(doc)
    If doc.form(0)="TempApprDoc"    Then
    Call doc.Remove(True)
    Let deldocs=deldocs+1
    End If
    Set doc = nextdoc
    Next
    Call agentLog.LogAction("Удалено док: " & Cstr(Deldocs))
    Call agentLog.LogAction("Конец")
    Call agentLog.Close
    End Sub
    Важно то что раньше он работал без сбоев
     
  3. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: SOFTOBZOR.ru
    Overflow - это переполнение... значить где то слишком много значений , возможно Dim Deldocs As Integer, зделать его Long? имхо переполнение идёт в строке Let deldocs=deldocs+1...

    Проверяли вручную?может Print накидайте
     
  4. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Вот тест запуск агента:

    Код (Text):
    The following will occur when this agent is run:

    Warning: Tester id (CN=AdministratorLN/OU=DOMEN/O=WOR) and agent signer id (CN=SERVER01/OU=NAME/OU=DOMEN/O=WOR) are different.
    'CN=SERVER01/OU=NAME/OU=DOMEN/O=WOR' has unrestricted rights to run LotusScript/Java agents on 'CN=SERVER01/OU=NAME/OU=DOMEN/O=WOR'.
    Allow restricted operations flag is selected. Restriction operations will be allowed.
    Agent scheduled to run on 'CN=SERVER01/OU=NAME/OU=DOMEN/O=WOR'.

    Started running agent 'MyAgent' on 26.12.2006 10:05:52
    Running on new or modified documents: 33488 total
    Found 33488 document(s) that match search criteria
    Testing: Ran LotusScript code
    Done running agent 'MyAgent' on 26.12.2006 10:05:52

    То есть в тесте все ок.

    А если не в тест т.е. Run то

    Сначало оконко "Overflow"

    Код (Text):
    Started running agent 'MyAgent' on 26.12.2006 10:09:45
    Running on new or modified documents: 33490 total
    Found 33490 document(s) that match search criteria
    26.12.2006 10:09:45: --- Начало
    Ran LotusScript code
    Done running agent 'DeleteTempDocs' on 26.12.2006 10:09:46
     
  5. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Found 33490 document(s) that match search criteria [/b] - Ну канечно, читаем хэлп
    Integer не может содержать число больше 32767, тоесть Вам необходимо задекларировать deldocs как Long или ещё как похлеще, хотя думаю этого хватить
     
  6. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    ЁПРСТ :D

    Спасибо! Буду сейчас лечить.
     
  7. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Попробовал замел на Long беда таже, "Overflow"
    Хотя есть еще подозрение на Dim i As Integer

    Но по логике кода (как я понима) в эту переменную заносится число документов удовлетворяющих требованию s.CurrentDatabase.UnprocessedDocuments.

    Не совсем понимаю что такое UnprocessedDocuments.
    И может ли их быть так много что нужен Long?
     
  8. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-SOFTOBZOR.ru+26:12:2006, 12:22 -->
    <span class="vbquote">(SOFTOBZOR.ru @ 26:12:2006, 12:22 )</span><!--QuoteEBegin-->Не совсем понимаю что такое UnprocessedDocuments.
    [snapback]51757" rel="nofollow" target="_blank[/snapback]​
    [/quote] это NotesDocumentCollection, нет там вроде ограничений нету.



    <!--QuoteBegin-SOFTOBZOR.ru+26:12:2006, 12:22 -->
    <span class="vbquote">(SOFTOBZOR.ru @ 26:12:2006, 12:22 )</span><!--QuoteEBegin-->Попробовал замел на Long беда таже, "Overflow"
    Хотя есть еще подозрение на Dim i As Integer
    [snapback]51757" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    ТОЧНО... колво доков в коллекции больше чем может быть значение i - его в обязательном порядке Long
     
Загрузка...
Статус темы:
Закрыта.

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