|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
я знаю что использовать офис на серваке это табу и всегда этого придерживался, но придется походу. вопрос у кого такая связка бегает как часто случаются проблемы ? п.с. пришлось на этой пойти потому что ни aspose(сам в аспоз запостил порядка 30 багов на сравнение и баги до сих пор чинятся и хз когда новое всплывет) ни какая другая либа не может выдать результат сравнения как сам офис, а порой просто мешанину делают. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 12:56 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Есть же альтернативы аспозу. Сейчас так сразу не вспомню, но погуглить можно. Правда под коре в свое время не нашли ничего, но, судя по тому что вы не боитесь интеропа у вас не коре. Я недавно вообще напрямую офисный XML лепил (так надо было - задача стояла делать ексельный файл без того чтобы он в памяти висел это время). ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 17:03 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Можно еще покопать в сторону этого: Open XML SDK . ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 17:08 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
fkthat, эм я то хочу кор нет так как машины сплошные линкусы с джава сервисами, подмешал бы я туда кор нет ничего не было, но я не нашел библы чтоб сравнивала документы адекватно. Open XML SDK не умеет сравнивать документы так то заполнение/редактирование документа эт просто, я могу сходу 4 назвать. мне нужно именно сравнение. я даже думал о Xmldiffpatch.exe что мс писало в далеком 2002 году ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 21:56 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
handmadeFromRuOpen XML SDK не умеет сравнивать документы в офисе же на основе xml документы. Сравнивай - не хочу. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 23:09 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
handmadeFromRufkthat, эм я то хочу кор нет так как машины сплошные линкусы с джава сервисами, подмешал бы я туда кор нет ничего не было, но я не нашел библы чтоб сравнивала документы адекватно. Open XML SDK не умеет сравнивать документы так то заполнение/редактирование документа эт просто, я могу сходу 4 назвать. мне нужно именно сравнение. я даже думал о Xmldiffpatch.exe что мс писало в далеком 2002 году EPPlus ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 08:22 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Petro123handmadeFromRuOpen XML SDK не умеет сравнивать документы в офисе же на основе xml документы. Сравнивай - не хочу. и? конкретнее ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 08:35 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
love_bachEPPlus и? да я использовал EPPlus для работы с эксель но как это связано с word? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 08:37 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
handmadeFromRulove_bachEPPlus и? да я использовал EPPlus для работы с эксель но как это связано с word? да так чтоб в новом файле я получил ревизии ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 08:38 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
handmadeFromRuPetro123пропущено... в офисе же на основе xml документы. Сравнивай - не хочу. и? конкретнеечто именно? Как xml сравнивать? Рекурсия, пошел по нодам дерева и сравнивай атрибуты. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 09:06 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Petro123что именно? Как xml сравнивать? Рекурсия, пошел по нодам дерева и сравнивай атрибуты. я подумаю над этим, но если уже аля аспоз не смогли сделать за бабло сравнение то моими силами проблемно все охватить мне кажется еще штука как https://github.com/OfficeDev/Open-Xml-PowerTools и она идеальна для сравнения + компиляция под кор нет. пока не заметил косяков в сравнение, но она удаляет букмарки, комментария и еще кучу всего перед выдачей результата, к сожалению удаляет и то что мне нужно потом в документе помимо текста. собираюсь форкнуть и оценить смогу ли сделать чтоб не удалялось нужная мне инфа и при этом сравнение не испортить но мы уходим от темы с офисом на серваке, надеялся кто нить поделиться опытом костыля в виде офиса на серваке, как ведет себя к примеру в 100реквестов в секунуду или многопоточности. так как есть недоверие к ком серверу через который и вызывает офис ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 09:19 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
handmadeFromRu, офисов-шмофисов на серверах с основным приложением не держим импортом, экспортом, конвертацией занимаются отдельные сервисы и там все по взрослому: очереди, масштабируемость, api, своя БД оформите это свое сравнение как отдельный микросервис, почему нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 09:39 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
handmadeFromRu100реквестов в секунудуну даете. Он не многопоточный условно говоря. Вам придется делат 100 экземпляров. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 10:03 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
handmadeFromRu, Ну или тест сделайте. Пол часа делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 10:04 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
handmadeFromRuкак ведет себя к примеру в 100реквестов в секунуду или многопоточности ну как как... если документы НЕ открывать в рамках одного Word.Application, то нормально а из этого следует, что необходимо множество процессов одновременно вот и думайте :) откуда у вас вообще вдруг 100 сравнений в секунду? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 10:25 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
skyANA, так оно как отдельный сервис и живет. отдельная тачка раньше была с аспозом, теперь времено с офисом чтоб понять. там простое асп приложение с 1 методом что только сравнивает чтоб потом это можно было за балансировщиком поставить и скалировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 10:40 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Дмитрий Мухоткуда у вас вообще вдруг 100 сравнений в секунду? ну эт цифра с потолка, щас на приложение что основное и будет использовать этот сервис уже в пике 250 в обычно 150 примерно в секунду. конечно сравнивать не так часто будут в меню эт в отдельном пункте лежит. просто я хотел понять какие грабли словлю не более ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 10:42 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
handmadeFromRu, тут правда я мог быть не точен, я смотрю на статистику забикса, а он наверное выдает реквесты вместе со статическим файлами впридачу ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 10:45 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Petro123handmadeFromRu100реквестов в секунудуну даете. Он не многопоточный условно говоря. Вам придется делат 100 экземпляров. да хоть 1000. если чисто в память упрется то это фигня, все равно потом процесс закрывается. тут главное что не померал на мертво или машину не вешал ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 10:48 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
handmadeFromRuДмитрий Мухоткуда у вас вообще вдруг 100 сравнений в секунду? ну эт цифра с потолка, щас на приложение что основное и будет использовать этот сервис уже в пике 250 в обычно 150 примерно в секунду. конечно сравнивать не так часто будут в меню эт в отдельном пункте лежит. просто я хотел понять какие грабли словлю не более приложение публичное? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 10:53 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
handmadeFromRu, предлагаю нанять китайцев )) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 12:20 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
hVostt, тебе то помогли китайцы нанятые?) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 12:46 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Дмитрий Мух, да, но публиковать тут я не буду ссылку на него так как разговор пойдут в другую сторону. п.с. разговор уже пошел в сторону от моего вопроса. один вывод как всегда не использовать офис что я собствено и знал ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 12:48 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
handmadeFromRu, Нагрузка у тебя большая, другого вывода и не будет. Еще постановку смотреть. С чего вдруг ворд формат надо сравнивать? Модели по бизнесу получается нету. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 13:06 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
В моем понимании могут быть две проблемы: 1) ком-сервер может подвиснуть (с фатальной ошибкой или просто) 2) если ему скармливаются файлики произвольные, то ворд может захотеть интерактивности, то есть вывести какое-то сообщение и ждать реакции пользователя. Вероятно, нужно сделать как-то так: есть один экземпляр ком-сервера ворда, есть управляшка, которая обеспечивает очередь и последовательную обработку запросов. Если управляшка видит, что ком-сервер перестал выдавать результат за разумное время, она запускает новый экземпляр ком-сервера и продолжает работу, а старый процесс пытается прибить. Если же какой-то файл регулярно приводит к проблеме несвоевременного ответа ком-сервера - это должно привести к отказу его обработки и удалению из очереди (а дальше разработчик разбирается в причинах). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 13:13 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Shocker.Proуправляшкапул экземпляров с МИН, МАКС. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 13:26 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Petro123handmadeFromRu, Нагрузка у тебя большая, другого вывода и не будет. Еще постановку смотреть. С чего вдруг ворд формат надо сравнивать? Модели по бизнесу получается нету. нагрузки на конкретно сервис сравнения может и не быть, я спросил чтоб узнать какие могут быть подводные жопы. мне надо сравнить потому что есть понятие подгрузки контрактов от контрагентов и дальнейшее изменение контракта и надо показать что поменялось визуально в ui. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 13:32 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Shocker.Pro, оо приму к сведению, спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 13:33 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
handmadeFromRu, Про жопы все сказали. Про ТЗ странное то, что контракт в ворде это свободный стиль. Как его изменение покажешь? Дал бы пример юз кейс что ли. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 13:36 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Shocker.Proуправляшка, которая обеспечивает очередь и последовательную обработку запросову COM Ole server office модель STA. Т.е. потоки сами встанут в очередь самой конструкцией COM. Если только чистить зависший процесс... как задача админа. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 13:49 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Petro123Shocker.Proуправляшка, которая обеспечивает очередь и последовательную обработку запросову COM Ole server office модель STA. Т.е. потоки сами встанут в очередь самой конструкцией COM. Если только чистить зависший процесс... как задача админа. вот тут я как раз и вижу жопу тут если ком сервер сделан как STA, то у него есть очередь сообщений. любой запрос к серверу делается через сообщение в очередь но вот ответ идет напрямую, и может быть обработан в разных потоках если во время обработки сообщения был сделан в другом потоке вызов сервера, который добавил еще одно сообщение, от может быть дедлок - обработка первого сообщения будет заблокирована ожиданием обработки второго сообщения если я не ошибаюсь, конечно решить можно через очередь вне ком сервера Petro123 пример простой. есть контракт загрузили документ, потом контрагент скачав контракт сделал в нем изменения и загрузил. мы храним версионные копии документов ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 14:06 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
com+ юзай через свой компонент, где уже будешь вызывать word ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 14:08 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Petro123у COM Ole server office модель STA. Т.е. потоки сами встанут в очередь самой конструкцией COM. Если только чистить зависший процесс... как задача админа.Это при условии, что ты не будешь создавать процесс на каждый запрос отдельно. Ну и менеджер очереди все равно нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 14:12 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
handmadeFromRuдедлоквсе давно придумано - возьми вместо пула коннектов пул экземпляров ворда. handmadeFromRuмы храним версионные копии документовно модели то нету. Мы генерили договор из полей таблицы! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 14:12 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Shocker.Proсоздавать процесс на каждый запрос отдельнов шарпе не знаю. В java это задача веб сервера - новый Поток на запрос. А как тут с вордом делать Х.З.)))) Геморрой. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 14:15 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
handmadeFromRuвот тут я как раз и вижу жопу тут если ком сервер сделан как STA, то у него есть очередь сообщений.Полюбому лучше изолировать элементы очереди и продвигать их самому. Потому что (Петя с этим не работал, не в курсе, он и сравнение вордом, видимо, не видел, иначе б не говорил глупости про сравнение xml) некоторые операции (например печать) выполняются асинхронно, тут тоже может быть засада, например, я не уверен, что сохранение выполняется синхронно, так что выполнив .Save() не факт, что документ уже готов, так что тоже имей ввиду. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 14:16 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Petro123возьми вместо пула коннектов пул экземпляров ворда.вот я бы не стал использовать пул, вероятность словить какое-нить зависание увеличится (ИМХО), лучше использовать один экземпляр ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 14:17 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Shocker.Proсравнение вордом, видимо, не виделлюбитель оффтопить и фантазировать кто что видел. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 14:18 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
handmadeFromRuДмитрий Мух, да Ну если публичный, то надо отбросить запросы на чтение, за статиками, запросы ботов и сканеров. Отсюда взять примерный процент тех, кому нужно именно сравнение. То есть на деле получится скорее всего скромная нагрузка на машину с офисом. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 14:19 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Shocker.ProPetro123возьми вместо пула коннектов пул экземпляров ворда.вот я бы не стал использовать пул, вероятность словить какое-нить зависание увеличится (ИМХО), лучше использовать один экземпляродин экземпляр не даст два запроса в сек. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 14:19 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Не знаю чего тут очкуют, но в простом варианте берём Windows Server 2016, ставим там офис, в базе заводим табличку, куда пишем задачи на сравнение со статусом их выполнения. Пилим виндовый сервис, что их разгребает. Перформанс метрики с машины кладём в zabbix. Если последние начинают быть плохими, то поднимаем рядом ещё машину. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 14:25 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Организовать в сервисе на отдельной машине пул процессов - как два пальца об асфальт. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 14:26 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
skyANAНе знаю чего тут очкуют, но в простом варианте берём Windows Server 2016, ставим там офис, в базе заводим табличку, куда пишем задачи на сравнение со статусом их выполнения. Пилим виндовый сервис, что их разгребает. Перформанс метрики с машины кладём в zabbix. Если последние начинают быть плохими, то поднимаем рядом ещё машину. +100 за отдельный сервис ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 14:35 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
Konst_Oneотдельныйотдельный от чего? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 14:49 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
skyANAНе знаю чего тут очкуют, но в простом варианте берём Windows Server 2016, ставим там офис, в базе заводим табличку, куда пишем задачи на сравнение со статусом их выполнения. Пилим виндовый сервис, что их разгребает. Перформанс метрики с машины кладём в zabbix. Если последние начинают быть плохими, то поднимаем рядом ещё машину. Можно не заморачиваться с базой - поднять RabbitMQ (у него, в отличие от MSMQ нет лимита на размер сообщения). Но, лично у меня, сама идея делать это через Office+Interop вызывает идиосинкразию. Уже когда-то так делали - геммороя с этим не оберешься. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 22:31 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
fkthatskyANAНе знаю чего тут очкуют, но в простом варианте берём Windows Server 2016, ставим там офис, в базе заводим табличку, куда пишем задачи на сравнение со статусом их выполнения. Пилим виндовый сервис, что их разгребает. Перформанс метрики с машины кладём в zabbix. Если последние начинают быть плохими, то поднимаем рядом ещё машину. Можно не заморачиваться с базой - поднять RabbitMQ (у него, в отличие от MSMQ нет лимита на размер сообщения). Но, лично у меня, сама идея делать это через Office+Interop вызывает идиосинкразию. Уже когда-то так делали - геммороя с этим не оберешься. И в чем же геморрой? С кроликом долго дружили? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 23:04 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
skyANAИ в чем же геморрой? С кроликом долго дружили? :) Мед в гостях у него ел :)) БД она как бы изначально все-таки не для организации очередей, поэтому многое придется делать руками. Создавать схему данных, писать DAL, продумывать и реализовывать polling. Оно как бы несложно все, я даже такое делал пару раз, но если нет чего-то, что мешает использовать готовое messaging решение, то почему бы и не использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 15:43 |
|
вопрос с интерлопом
|
|||
---|---|---|---|
#18+
fkthatskyANAИ в чем же геморрой? С кроликом долго дружили? :) Мед в гостях у него ел :)) БД она как бы изначально все-таки не для организации очередей, поэтому многое придется делать руками. Создавать схему данных, писать DAL, продумывать и реализовывать polling. Оно как бы несложно все, я даже такое делал пару раз, но если нет чего-то, что мешает использовать готовое messaging решение, то почему бы и не использовать. Я только за очереди. Но сто пудов БД уже есть и, соответсвенно, есть достаточный опыт её использования, чтобы легко и быстро добавить таблицу, написать DAL, реализовать логику. И если не хочется, или нет времени погружаться в этот самый messaging, то используйте БД. А вообще я себе вижу отдельный микросервис сравнения, асинхронное взаимодействие с которым идёт через очередь, со своей собственной БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 18:57 |
|
|
start [/forum/topic.php?all=1&fid=18&tid=1355051]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
133ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 258ms |
0 / 0 |