Крон запускается за счет посещения
В моём случае остановка на 5 минут - не страшно
опять же, я прикинул - в моём случае это нормально. Было бы плохо, если бы задания прилетали в очередь достаточно плотно, но в моей реальности этого нет.
сообщить брокеру, что задача готова, затем увеличить свой счётчик
если сумма счётчиков не меняется в течение какого-то времени, то спросить у брокера количество задач в очереди
За это отвечает брокер - если по таймауту задача не подтверждена, она автоматически возвращается в очередь. Это была одна из причин, почему я выбрал beanstalk, а не Redis Pub/Sub ( у Redis сейчас заявлен новый механизм, Streams , но мне он показался сложнее )
Этот момент мне неясен. В моём представлении, это так:
1) есть некое оперативное хранилище ( например, Redis )
2) Паблишер туда пишет: "я поставил N заданий". И закончил работу.
3) Каждый Воркер в то же хранилище пишет свой инкрементный счётчик, сколько заданий он сделал.
4) Менеджер работает параллельно воркерам и считает сумму их счётчиков. Как только сумма сошлась с числом от паблишера, все задания обработаны.
Так?
не буду дальше позориться и рассказывать устройство, и так вижу, что тут коряво вышло
Теперь вижу, что подход в целом неверный. Если я боюсь утечек памяти, надо было брать пример с Апача: Менеджер мониторит количество воркеров и запускает новые, если нужно, а воркер обрабатывает фиксированное число заданий ( тысячу, 10 тысяч ) и завершается. Если хочется принудельно завершить воркера, надо смотреть в сторону сигналов.
скидки на товары
string(275) "Хомут обжимной просечной (оцинкованная сталь) ширина 8 мм 3/4" (13-19 мм) – купить по цене завода. Доставка по РФ. Смотреть характеристики, фото, отзывы."
string(271) "Хомут обжимной просечной (оцинкованная сталь) ширина 8 мм 3/4" (13-19 мм) – купить по цене завода. Доставка по РФ. Смотреть характеристики, фото, отзывы."
Мне не нужно передавать ссылку. Мне нужно совсем другое. Не надо пытаться подменить задачу только для того, чтобы код соответствовал выученной вами догме.
Вы раньше производили впечатление адекватного человека, но сейчас я вижу что вы просто повторяете заученные религиозные догмы. Поскольку в большинстве случаев это работает, то отсутствие реального понимания не так бросалось в глаза.
Как я уже говорил, аргументы против религии бесполезны, так что всего хорошего
https://3v4l.org/i5RPC
foreach ($array as $i => &$v) {
if ($i === 0) {
$array[1] = 3;
}
echo "$i: $v\n";
}
Переменная инициализирована.
Читайте внимательнее. Мне надо не для изменения. А для изменения, которое видно сразу, на по окончании перебора.
Разумеется должна быть. Она там и есть. А эта строчка лишняя.
Верно, именно поэтому замечание про "более лучше производительный" не имеет смысла и является скорее вредным, поскольку создает классическое суеверие.
не нужно.
нужно использовать то, что подходит для конкретной задачи
если я, к примеру, хочу изменять значения массива и при этом видеть изменения сразу, то нужно использовать обращение по ключу.
ну если так не видите, то просто уберите её из кода, и запустите его :)