Size: a a a

2020 November 23

ЛZ

Личинка Кайтера Zori... in PHP
Если хочется больше гибкости и гарантий — можно использовать postgresql в качестве хранилища ;)))
источник

АС

Альберт Степанцев... in PHP
Алексей Гевондян
код обработки джобы надо написать так, чтобы не падало
зачем вам тесты?
вы что, не можете просто писать код без багов?
(с)
источник

АГ

Алексей Гевондян... in PHP
Альберт Степанцев
зачем вам тесты?
вы что, не можете просто писать код без багов?
(с)
не, просто обернуть в трай кетч, и если упало, положить джобу еще раз в очередь, с уменьшением счетчика оставшихся попыток.
источник

ЛZ

Личинка Кайтера Zori... in PHP
У нас эти очереди работают на редисе в продакшене, 1000-2000 тасков в секунду прокачивается. Судя по тестам 500,000 в секунду сервер выдерживает.
источник

АГ

Алексей Гевондян... in PHP
Личинка Кайтера Zorin
У нас эти очереди работают на редисе в продакшене, 1000-2000 тасков в секунду прокачивается. Судя по тестам 500,000 в секунду сервер выдерживает.
тогда это уже данные а не задачи
источник

ЛZ

Личинка Кайтера Zori... in PHP
Алексей Гевондян
тогда это уже данные а не задачи
Почему?
источник

АГ

Алексей Гевондян... in PHP
ну да, в принципе, можно всякие record deleted, record updated обрабатывать таким образом...
источник

MM

Maksim Masiukevich in PHP
таким образом можно обрабатывать всё что угодно. Просто у людей ссанина в головах. Распараллеливание, многопоточность, тьфу
источник

ЛZ

Личинка Кайтера Zori... in PHP
Maksim Masiukevich
таким образом можно обрабатывать всё что угодно. Просто у людей ссанина в головах. Распараллеливание, многопоточность, тьфу
Почему ссанина?
источник

MM

Maksim Masiukevich in PHP
потому что здесь нет никакого распараллеливания и быть по определению не может
источник

ЛZ

Личинка Кайтера Zori... in PHP
Maksim Masiukevich
потому что здесь нет никакого распараллеливания и быть по определению не может
Это ещё почему?
источник

MM

Maksim Masiukevich in PHP
Личинка Кайтера Zorin
Это ещё почему?
потому
источник

NV

Natalia Voronina in PHP
Ну про гарантию доставки у популярных брокеров есть механизмы коммитов сообщений если обработка прошла, а если сбой, то другие консьюмеры прочитают и попытаются обработать
источник

АГ

Алексей Гевондян... in PHP
один процесс кидает задачи, мониторит завершенные и выводит статус. другой обрабатывает задачи. 2 процесса, никакого распараллеливания с т. зр. потоков и т д нет, так же как и асинхронности
источник

NV

Natalia Voronina in PHP
Но я пожалуй спать пойду))) чувствую холивар будет))
источник

AL

Anton Lakotka in PHP
Maksim Masiukevich
потому что здесь нет никакого распараллеливания и быть по определению не может
а что такое распаралеливание?
надо бы объяснить, чтобы другим было понятно.
источник

ЛZ

Личинка Кайтера Zori... in PHP
Maksim Masiukevich
потому
Ну тебе например надо сгенерировать миллион каптчей, ты взял поставил в очередь миллион тасков, а сотня воркеров  запущенных на нескольких серверах быстренько выгребла очередь и сгенерила
источник

ЛZ

Личинка Кайтера Zori... in PHP
При этом менеджер процессов на каждом сервере автоматически подстраивает количество воркеров под свободные ресурсы
источник

MM

Maksim Masiukevich in PHP
Личинка Кайтера Zorin
Ну тебе например надо сгенерировать миллион каптчей, ты взял поставил в очередь миллион тасков, а сотня воркеров  запущенных на нескольких серверах быстренько выгребла очередь и сгенерила
и в итоге мы получаем: 1 очередь, которая строго последовательно выдаёт каждому консамеру задачи, каждую из которых они выполняют конкурентно. И в итоге вся работа у тебя выполняется не параллельно, а конкурентно. разница маленькая, но существенная.
источник

ЛZ

Личинка Кайтера Zori... in PHP
Maksim Masiukevich
и в итоге мы получаем: 1 очередь, которая строго последовательно выдаёт каждому консамеру задачи, каждую из которых они выполняют конкурентно. И в итоге вся работа у тебя выполняется не параллельно, а конкурентно. разница маленькая, но существенная.
"которая строго последовательно выдаёт каждому консамеру задачи" в смысле?
источник