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

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

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

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

Обработка поступающих вложений doc

Тема в разделе "Lotus - Программирование", создана пользователем anna, 2 мар 2015.

  1. anna

    anna Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    3 июн 2014
    Сообщения:
    354
    Симпатии:
    9
    Уважаемый all! Я понимаю, что ворд на сервере это плохо, но пока увы. Проблема в том, что никак не удается наладить четкую обработку на стороне сервера - открыли ворд - первый файл обработали - n-ный файл обработал и- закрыли ворд, ждем пока новые файлы придут.
    Что-то ломается после первого прохода, приходится его убивать taskkill и запускать обработку по новой. Это на сервере, на клиенте все ок.
    И да, лотусскрипт, на жаву переписывать 3000 строк кода нет желания, нормально будем реализовывать новую уже схему (я надеюсь, что сделаем интеграцию хотя бы через xml).
    Как бы минимизировать taskkill и количество запусков ворда?
     
  2. lmike

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

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.375
    Симпатии:
    336
    и не надо - делается рапер, для основных манипуляций
    когда-то это делать придется (почти в принудительном порядке) ибо ИБМ забросила LS
    попытаться не закрывать Application и искать его по GetObject, но для агентов, кмк, анриал (агент похачит хендлы)...
    если внешним кодом только, крутить в цикле WS к-л, кот. по событию в ФС будет обрабатывать виндятскими примочками файло
    как пример вот такая шняжка
    а вопщем - POI/XML + veloicity и никаких вордей :)
    можно еще jasperreports заюзать
     
  3. lmike

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

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.375
    Симпатии:
    336
    вот для систем типа В2К3
     
  4. erdi

    erdi Well-Known Member

    Репутация:
    0
    Регистрация:
    20 авг 2008
    Сообщения:
    265
    Симпатии:
    36
    пойдите от обратного...перед обработкой убивайте все процессы word, если они остались от прошлой обработки. Т.,о перед свой обработкой вы точно будете гарантировать что остатков word-a нет на машине и они не приведут к поломке текущей обработки
    Код:
    Sub CloseMSWord()
    	On Error GoTo ErrH
    	Dim objs As Variant
    	Dim strSQL As String
    	Dim strWMI As String
    	strWMI = "winmgmts:"
    	strSQL = "Select * From Win32_Process "
    	strSQL = strSQL & "where Name = 'WINWORD.EXE'"
    	Set objs = GetObject(strWMI).ExecQuery(strSQL)
    	ForAll obj In objs
    		obj.Terminate
    	End ForAll
    Quit:
    	Exit Sub
    ErrH:
    	Error Err, Error$ & " in " & GetThreadInfo(1) & " line " & CStr(Erl)
    End Sub
     
    #4 erdi, 3 мар 2015
    Последнее редактирование модератором: 3 мар 2015
    2 пользователям это понравилось.
  5. anna

    anna Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    3 июн 2014
    Сообщения:
    354
    Симпатии:
    9
    А зачем весь этот обвес, если в mail-in базу будет просто попадать xml? В день ~200 штук по 4кб. Если, конечно, устраивать конвейер на сотни тысяч файликов.....
     
  6. anna

    anna Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    3 июн 2014
    Сообщения:
    354
    Симпатии:
    9
    Рапер? Это что?
     
  7. anna

    anna Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    3 июн 2014
    Сообщения:
    354
    Симпатии:
    9
    На что может так ругаться?
     
  8. lmike

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

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.375
    Симпатии:
    336
    @erdi, иногда ;) желательно еще и подождать
    этим англицизмом (wrapper - обертка) я назвал набор из шаблонов программирования типа Адаптер и ему аналогичные
    --- Добавлено 3 мар 2015. Первое сообщение размещено 3 мар 2015 ---
    именно на недостаток памяти процесса ;)
     
  9. anna

    anna Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    3 июн 2014
    Сообщения:
    354
    Симпатии:
    9
    --- Добавлено 3 мар 2015. Первое сообщение размещено 3 мар 2015 ---
    Какой памяти? вроде все свободно: на диске много и оперативка пустая
     
  10. lmike

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

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.375
    Симпатии:
    336
    ни задачи ни реализации я не видел ;)
    дополнение по раперу - все вызовы типа CreateObject будут заменены на соответ. класс рапера
    а его инстанс будет подменять используемые методы на свою реализацию
    --- Добавлено 3 мар 2015. Первое сообщение размещено 3 мар 2015 ---
    какбэ домина использует "свою" память в своем процессе
    у ЛС ограничения на стэк и хип - все вместе 2Гб (32бит и т.п.), вот сколько осталось для передачи КОМе - уже вопрос
    --- Добавлено 3 мар 2015 ---
    короче - без кода и окружения невозможно понять суть ваших ошибок
     
Загрузка...

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