Size: a a a

2020 December 23

MF

Misha Fomin in phpGeeks
на деле может быть и 50.
источник

V

Victooor in phpGeeks
Misha Fomin
на деле может быть и 50.
Если 50, rand не покатит, все заявки будут валится в первых манагеров. Нужно циклом вручную равномерно распределять согласно %. Запоминаешь на каком остановился и продолжаешь со следующего
источник

MF

Misha Fomin in phpGeeks
ну получается надо возможно еще доп значение в БД хранить...
источник

AS

Alexandr Sakharoff in phpGeeks
Misha Fomin
для простоты расчета мнесто 50 берем 3
ок, насколько релизонезависимым нужно быть?
Если делаем MVP на коленке, то можно и:
$choice = random_int(1, 10);
if ($choice <= 5) {
   // первый менеджер 50%
} elseif ($choice <= 8 ) {
  // второй 30%
} else {
  // третий манагер 20%
}

Если мы хотим это на лету менять, то конечно, так не пойдет у нужно квоты создавать в sql/nosql и хранить их вероятности
источник

AS

Alexandr Sakharoff in phpGeeks
Victooor
Если 50, rand не покатит, все заявки будут валится в первых манагеров. Нужно циклом вручную равномерно распределять согласно %. Запоминаешь на каком остановился и продолжаешь со следующего
запоминать на ком остановился не имеет смысла, тебе вероятность нужна правильно посчитанная
источник

MF

Misha Fomin in phpGeeks
я в БД храню уже процент каждого менеджера.
источник

MF

Misha Fomin in phpGeeks
На коленке чтото похожее... ) хм...
источник

V

Vasily in phpGeeks
флаг заведи для каждого - выдан таск\ не выдан. Если выдан, пропускаем, если не выдан, то считаем его_таски / таски_в_системе < xx% - выдаём таск. Если > то не выдаём таск. ставим флаг. Если таск отдать некому (у всех стоит флаг), то снимаем всем флаги. Будет равномерно, никто не уйдёт обиженным.
источник

V

Victooor in phpGeeks
Alexandr Sakharoff
запоминать на ком остановился не имеет смысла, тебе вероятность нужна правильно посчитанная
Тут ещё есть другая сложность. Что бы вероятность работала нормально, нужно что бы % в сумме всегда был 100. Но сомневаюсь что этим будут долго заморачиваться 🙂
источник

V

Victooor in phpGeeks
Особенно на 50 манагерах))
источник

V

Victooor in phpGeeks
Скорее, тут нужен какой-то коэффициент. Типа, одному одну, второму 1.5, третьему 10 и тд
источник

AA

Anton Arkhipov in phpGeeks
Как-то вы скучно размышляете, надо тензорфлоу прикрутить, чтобы нейронка оценивала вероятность успешного завершения сделки менеджером...
источник

AS

Alexandr Sakharoff in phpGeeks
Victooor
Тут ещё есть другая сложность. Что бы вероятность работала нормально, нужно что бы % в сумме всегда был 100. Но сомневаюсь что этим будут долго заморачиваться 🙂
у нас 3 менеджера, у первого вероятность 80, а второго 60, у третьего 90. Внимание вопрос, кому достанется джоба)
источник

ДЩ

Дмитрий Щербаков... in phpGeeks
помнится когда-то очень давно я делал что-то подобное решил так

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

вот так будет прямо супер пупер равномерно

и никакая вероятность не нужна
источник

V

Victooor in phpGeeks
Alexandr Sakharoff
у нас 3 менеджера, у первого вероятность 80, а второго 60, у третьего 90. Внимание вопрос, кому достанется джоба)
Если интересная, то старшОму. Если скучная, самому молодому 😂
источник

AG

Anton Gordeev in phpGeeks
К сожалению, идеально распределить заранее неизвестное количество заявок по известному количеству менеджеров невозможно.
Самый работающий вариант:
- Выбрать всех менеджеров с наименьшим количеством заявок за сегодня (тут если углубится, можно и учитывать более длинные сроки, но это гораздо сложнее, чем кажется на первый взгляд)
- выбрать из получившегося списка менеджеров одного с долей вероятности. Тут уже в ход вступает статья с вики
источник

V

Vasily in phpGeeks
прям универовскими лабами пахнуло. теория игр, все дела
источник

AG

Anton Gordeev in phpGeeks
И ещё, о каких лимитах вы тут говорите битый час? Количество заявок НЕИЗВЕСТНО. Как на неизвестном значении можно строить какие-то лимиты?)
источник

AG

Anton Gordeev in phpGeeks
оп. Первый пункт из моего опуса тоже не нужен. Не надо выбирать менеджеров с меньшим количеством заявок.
Надо просто выбирать из текущих менеджеров одного с вероятностью.
источник

V

Vasily in phpGeeks
и не учитывается количество активных заданий на руках у манагера. может он уже повесился, а может всё сделал и сидит в носу ковыряется.
источник