Я хочу разрешить взвешенный адаптер с завода, который может быть настроен пользователем (включить/отключить и вес%).Алгоритм балансировки взвешенной нагрузки в PHP-приложение
Пример:
- AdapterW ≃ 20% сделки
- AdapterX ≃ 30% сделки
- AdapterY ≃ 40% сделки
- AdapterZ ≃ 10% сделки
Я могу предоставить, что все предметы никогда не будут суммировать более ста (100%), но иногда любой адаптер может быть деактивирован.
Я следующие параметры:
public function handleAdapter()
{
$isWActive = (boolean)$this->_config[self::W];
$isXActive = (boolean)$this->_config[self::X];
$isYActive = (boolean)$this->_config[self::Y];
$isZActive = (boolean)$this->_config[self::Z];
$WPercentage = (int)$this->_config[self::LOAD_BALANCE_W];
$XPercentage = (int)$this->_config[self::LOAD_BALANCE_X];
$YPercentage = (int)$this->_config[self::LOAD_BALANCE_Y];
$ZPercentage = (int)$this->_config[self::LOAD_BALANCE_Z];
.
.
.
return (self::W | self::X | self::Y | self::Z);
}
Как я могу сбалансировать взвешенным между этим адаптеры динамически?
Редактировать
создал суть в исполняемый код: https://gist.github.com/markomafs/5d892d06d6670909f9b4
Это поможет вам сделать вопрос, который получает эффективный ответ: http://stackoverflow.com/help/mcve –
извините, но по этой ссылке, мой вопрос Minimal, полный и проверяемый. Можете ли вы мне помочь и отправить предложение по редактированию? – Markomafs
Я только что проверил ссылку. В соответствии с этим, полным примером является один такой, который имеет «все части, необходимые для воспроизведения проблемы». MCE - это то, что я могу сделать. Я не могу запускать вашу функцию как есть. У него даже нет тегов . Когда я предоставляю ему теги и загружаю его, я получаю сообщение об ошибке «public» здесь. Чтобы запустить его, я должен исправить теги, создать свой объект, настроить код, который вызывает эту функцию, и распечатать результаты. Не знаю, как это сделать. Почему бы нам не сказать? –