|
|
|
Вопрос по ООП
|
|||
|---|---|---|---|
|
#18+
Petro123Basil A. SidorovУбрать public и разместить классы в одном пакете. +1 А то наворотить можно...проверяльщиков прав в самой модели. Т.е. кроме бизнес-логи ещё и Системную логику. JulTПоиск исполнителя это всего лишь поиск доступных, далее я беру список доступных и по очереди, в течении определенного времени(например 20 секунд) каждому из них предлагаю взять заказ на исполнение(шлю нотификацию). Как только заказ взят кем-то, поиск прекращается, поток останавливается, а заказ удаляется из мапы. Пока сделала так, если есть варианты как проще, советуйте. Без аппСервера, в БД делают разные бизнес процессы: - Один БП по заведению задачи разбивают на 2-3 - Сохранить задачу + Поиск исполнителей по JOB + Мессенджер. У тебя получается что при Новогодних праздниках зависнет N заданий (не будут удалены из мапы). Т.е. постоянно шуршит сервер. Все 3 модуля можно выполнить независимыми друг от друга. Ну у меня вроде так и сделано. FindService - здесь создается и запускается таска, сохраняется при этом в мапу: Код: java 1. При создании таски делаю следующее: Код: java 1. 2. 3. где Код: java 1. В MyTaskSearch в методе run происходит поиск исполнителей на текущий заказ, там же если нашли происходит вызов нотификации: Код: java 1. Как только исполнитель откликается на заказ, удаляю его из мапы, при этом останавливаю поток через Код: java 1. 3 отдельных класса, каждый занят своим делом Ну вот как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2016, 16:24 |
|
||
|
Вопрос по ООП
|
|||
|---|---|---|---|
|
#18+
авторПоиск исполнителя это всего лишь поиск доступных, далее я беру список доступных и по очереди, в течении определенного времени(например 20 секунд) каждому из них предлагаю взять заказ на исполнение(шлю нотификацию). Как только заказ взят кем-то, поиск прекращается, поток останавливается, а заказ удаляется из мапы. а почему не рассылать всем, и ждать когда первый желающий ответит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2016, 16:50 |
|
||
|
Вопрос по ООП
|
|||
|---|---|---|---|
|
#18+
вадяавторПоиск исполнителя это всего лишь поиск доступных, далее я беру список доступных и по очереди, в течении определенного времени(например 20 секунд) каждому из них предлагаю взять заказ на исполнение(шлю нотификацию). Как только заказ взят кем-то, поиск прекращается, поток останавливается, а заказ удаляется из мапы. а почему не рассылать всем, и ждать когда первый желающий ответит? такое тз. дело в том, что исполнители находятся на разных расстояних от клиента делающего заказ, поэтому рассылка идет последовательно, сначала для самого ближайшего потом следующего и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2016, 17:28 |
|
||
|
Вопрос по ООП
|
|||
|---|---|---|---|
|
#18+
автортакое тз. дело в том, что исполнители находятся на разных расстояних от клиента делающего заказ, поэтому рассылка идет последовательно, сначала для самого ближайшего потом следующего и т.д. это как-то не лоично - зачем? даже если дальний возьмет первым, что от этого изменися? каждый водила сам оценивает свои возможности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2016, 18:38 |
|
||
|
Вопрос по ООП
|
|||
|---|---|---|---|
|
#18+
если водила счас далеко, а едет к туда, где вызов. - значит он рядом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2016, 18:44 |
|
||
|
Вопрос по ООП
|
|||
|---|---|---|---|
|
#18+
они берут заказы с целью заработать, а когда клиент видит, что исполнитель пребудет на заказ через 30 минут, он просто отказывается от заказа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2016, 19:07 |
|
||
|
Вопрос по ООП
|
|||
|---|---|---|---|
|
#18+
вадякаждый водила сам оценивает свои возможности +1 если мы о водителях. Опять есть аналогия с электронной очередью счас в любом медицинском заведении или банке. Банально, каждый входящий получает квиток. Очередь видят все работники за прилавком. Думаю, что они сами выбирают следующего)). Иначе зарплату не получат. Тогда никакой бизнес логики в классах не нужно. Задача послать письмо и "забыть себя" = уничтожить. Исполнители должны подписываться на события. Исполнитель блокирует задачу (если надо) и забирает её подробности. Если выполнить исполнителя как актор-действующее лицо, то никакая мапа не нужна вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2016, 19:10 |
|
||
|
Вопрос по ООП
|
|||
|---|---|---|---|
|
#18+
JulTа когда клиент видит, что исполнитель пребудет на заказ через 30 минут, он просто отказывается от заказа и что? Нужно ждать в мапе для этого подтверждения? - нужно ввести тогда статусы заказа: "Заявка сохранена" - Завка разослана всем подписавшимся - Получено 5 предложений от исполнителей с временем подхода N минут - Заявитель подтвердил машину БМВ с русским водилой - Остальным разослан отказ. Все состояния сразу же сохранять в БД. Никакая мапа не нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2016, 19:14 |
|
||
|
Вопрос по ООП
|
|||
|---|---|---|---|
|
#18+
JulTони берут заказы с целью заработать, а когда клиент видит, что исполнитель пребудет на заказ через 30 минут, он просто отказывается от заказа ни кто не возьмет заказ - если сможет исполнить через такое время, и если от заказа отказались - надо штрафовать вадилу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2016, 19:16 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2124279]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 223ms |
| total: | 393ms |

| 0 / 0 |
