$this->proc_unid = rand(100000, 999999);
if(проверить, что в очереди нет сообщения с таким же телом запроса, отправленное не более x секунд назад) // x секунд рассчитывается от времени бана за одинаковые запросы к стороннему API
{
// положить сообщение в очередь
}
$oRedis->set('uniq_id', json_encode($_REQUEST));
exec('php worker.php');
1. Вставлял рандомную задержку в hadler.php и потом проверял есть уже такой запущенный процесс (реализовывал что блокировку потока к файлу fopen flock)
if(flock($lock_file_handler, LOCK_EX | LOCK_NB))
{
// делать то, что может только один поток в один момент времени
}
http.onerror = function() {
alert('Извините, данные не были переданы');
}
По какой схеме тут банки подключены?
Зависит от контроллера, который будет давать 20 вольт - нужно смотреть схему подключения банок.