|
![]() |
#1 |
Участник
|
Цитата:
разве не может быть некоего переключателя в этом нечто? тогда будет что-то вроде методов showQuery, canRunInBatch... разве не может быть несколько точек расширения? переопределил одну - будет одно, переопределил другую - другое. можно переопределить и обе. почему бы и нет? возвращаясь к исходному вопросу: если мы говорим о друх классах, то клиентский скорее всего нужно выполнить сразу, а серверный по расписанию. Но параметры расписания передаются в первый класс (в клиентский). Нужно еще как то передать расписание серверному классу. если мы говорим об одном классе (какой-то расширенный runBaseBatch), то как правильно расширить его функционал? |
|
![]() |
#2 |
Участник
|
Мда... Когда я читал вопрос, мне даже в голову не могло прийти, что речь идет именно о пакетной обработке на стороне клиента. Ну, RunBaseBacth, ну и что? Но пакетник на клиенте - глупо и бессмысленно.
Похоже, здесь ловушка "программизма", как ни странно. Чисто программистский подход без учета самой задачи, которую надо сделать. Если отвлечься от кода, то постановка задачи заключается в следующем 1. Организовать диалог с пользователем 2. Загрузить данные с одного конкретного клиента. Важно! Только один клиент из всех установленных! 3. Выполнить обработку полученных данных Основная проблема, как я понимаю, в п.2. И сам вопрос возник, видимо, по той причине, что эта загрузка выполнятся относительно длительное время. Вот исходя из этого и надо рассуждать Ну, само-то пакетное задание создается на клиенте. Этот самый диалог с пользователем. Но, вот мы его создали. А дальше? Запустили мы пакетную обработку на AOS. Нам надо запустить обработку на клиенте. Вопросы: - Как, каким образом, AOS узнает о том, на каком именно клиенте надо запустить обработку? - Как, каким образом, AOS может запустить обработку именно на нужном клиенте? Как он сможет передать управление этому самому клиенту? Вот если Вы сможете найти ответы на эти вопросы, тогда и станет понятно, как модифицировать RunBaseBacth и стоит ли это вообще делать Единственное, что мне приходит в голову, для передачи управления - это Buisness Connector. Но к модификации RunBaseBatch это отношения не имеет
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
![]() |
#3 |
Участник
|
Цитата:
согласен. но у нас действительно есть runsImpersonated. после небольшого копания с ним, я не думаю, что runsImpersonated это правильный способ. Цитата:
Цитата:
и для робота бессмысленно организовывать диалог в виде GUI-окна с кнопками Ok/Cancel и прочими GUI-контролами. если под "диалогом" понимается некий интерфейс и обмен данными без привязки к GUI - полностью согласен. Собственно поэтому в исходном вопросе нет ни пользователя, ни средств общения с ним. В данной задаче предполагается, что входящие параметры как-то получены на клиенте. Да, в данной ветке хотелось бы обсудить шаг 2,3 Цитата:
Цитата:
Да, скорее всего инициатором будет не AOS. (хотелось бы рассмотреть именно этот вариант) Но не вижу причин запрещать AOSу быть инициатором. (этот вариант готов пропустить в этой ветке обсуждения) Цитата:
Но раз появился runsImpersonated, то готов послушать про вариант "клиентские действия после запуска пакетной обработки на AOS". Мне этот способ не нравится, но вдруг я чего не понимаю. Цитата:
Эти вопросы появились после того, как ax_mct начал утверждать что runsImpersonated - правильный способ. В исходном вопросе таких требований не было. Цитата:
![]() Если честно, то совершенно не планировал искать ответы на эти вопросы. Я думал, что можно остаться в существующей парадигме RunBaseBatch, и только добавить действия, которые должны быть выполнены на клиенте. собственно исходный вопрос так и составлен: Цитата:
Сообщение от mazzy
![]() Предположим у нас есть RunBaseBatch.
Он делает что-то тяжелое. Мы конечно же хотим сделать так, чтобы он мог работать на пакетном сервере. Но этот класс забирает данные из какого-нибудь файла, который находится на клиенте. Как и куда правильно вставить действия, которые должны выполняться на клиенте? |
|
Теги |
как правильно |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|