Рубрики
Uncategorized

Анализ исходного кода заданий cloze / swool

Автор оригинала: David Wong.

Требуется расширение PHP

https://github.com/alanxz/rab… AMQP необходимо сначала установить rabbitmq-c для повторного ввода

Сложность источника:

Легко понять и изменить

Основные моменты знаний:

swooleprocess Передача сигнала таймера свула и т.д.

Сложность использования:

Простая, удобная для встраивания структура

Обнаружены проблемы:

Проверьте склад GitHub. Код не обновлялся уже полгода. В новой версии swoole процесс нельзя использовать в swooletimer, поскольку сопрограмма будет создана автоматически в swooletimer, а процесс не может быть создан в процессе

растворитель:

  1. Добавить в файл ввода (проверено)

swoole_async_set([

'enable_coroutine' => false

]);

  1. Измените процесс на совместную работу (непроверенную)

Стабильность:

В исходном коде есть комментарий://Черная технология: на практике обнаруживается, что бизнес-код может быть не введен, что приводит к потере сообщений, слишком быстрому или слишком медленному выполнению задания (ненормальный бизнес), и рабочий процесс благополучно завершается При самотестировании, были открыты три очереди redis https://www.showdoc.cc/server…

Результаты теста: нажмите 3000 единиц данных

Минимальное количество процессов соответствует ожиданиям Максимальное количество процессов соответствует ожиданиям Без потери результатов

Эффективность выполнения

Ограничено очередями redis и рабочими задачами