nshindarev / mas-carpooling

Проект "Carpooling" для платформы JADE. Пассажиры и водители пытаются преодолеть определённые маршруты с минимальными денежными затратами
MIT License
2 stars 0 forks source link

Характер взаимодействия с YP #24

Closed nshindarev closed 7 years ago

nshindarev commented 7 years ago

Предлагается одноразовый проход citizen по сервису YP с целью выявить водил, которые будут проезжать через районы нужные citizen и отсеять тех, чей маршрут не подходит.

Далее предполагается отправить сообщения всем подходящим водилам и ждать от них ответа 1

nshindarev commented 7 years ago

Таким образом предлагается поменять TickerBehaviour на OneShot

gbagretsov commented 7 years ago

Предлагаю постоянно просматривать список водил (с интервалом определённым). Проблем я особо не вижу при таком подходе. Новые водилы просто будут добавляться в список сохранённых (в принципе, это так сейчас и работает). А другое поведение будет этот список обрабатывать, тоже с определённым интервалом. Плюс такого подхода - есть шанс найти подходящего водителя, даже если он создастся позже других (так как у нас агенты появляются с задержкой).

P.S. Схему ещё не смотрел

nshindarev commented 7 years ago

Хорошо, с таким подходом согласен.

gbagretsov commented 7 years ago

Для общения с водилами мы выделим новое поведение, чтобы не нарушать гибкости и семантики

nshindarev commented 7 years ago

И тут согласен, разумеется

nshindarev commented 7 years ago

Так вот я пока что не вижу проблем с тем, чтобы всё это дело параллелить, так как у нас каждый водитель имеет свой пул сообщений из которого их поочередно вытаскивает и обрабатывает. В момент когда все места будут забиты он убирает себя из YP, а остальным оставшимся в пуле шлёт сообщение в формате: "отказано по причине нехватки свободных мест". (это чтобы не путать с отказом по причине предложения малой цены). В случае когда появляется новый пассажир, необходимо также оповестить всех остальных пассажиров что им нужно будет меньше денег уплатить, так как бензин теперь делится на большее количество попутчиков.

Может, объяснишь где тут трудности, а то я пока детально с логикой реализации не копался 🔢

nshindarev commented 7 years ago

Короче, я погнал на пару, обсудим в унике

gbagretsov commented 7 years ago

Под словом "распараллелить" я имел в виду, что вдвоём это трудно реализовывать, нужно заранее все спецификации сообщений прописать

gbagretsov commented 7 years ago

Предлагаю закрыть эту задачу и перенести обсуждение в #22. С Yellow Pages более-менее разобрались

gbagretsov commented 7 years ago

YP вроде как работает нормально, закрываем