rollun-com / rollun-callback
Callback
Installs: 8 604
Dependents: 4
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 7
Open Issues: 7
Requires
- php: ^8.0
- ext-json: *
- ext-openssl: *
- aws/aws-sdk-php: ^3.334
- laminas/laminas-db: ^2.13.4
- laminas/laminas-diactoros: ^2.8.0
- laminas/laminas-http: ^2.15
- laminas/laminas-json: ^3.3.0
- laminas/laminas-servicemanager: ^3.10
- laminas/laminas-stdlib: ^3.7.0
- laminas/laminas-stratigility: ^3.5.0
- mtdowling/cron-expression: ^1.2
- opis/closure: ^3.6.3
- rollun-com/rollun-logger: ^7.0.0
- rollun-com/rollun-utils: ^7.0|^8.0
- symfony/event-dispatcher: 4.4.*
- symfony/filesystem: ^6.0
- symfony/finder: ^6.0
- symfony/lock: ^6.0
Requires (Dev)
- laminas/laminas-config-aggregator: ^1.7
- mezzio/mezzio: ^3.9
- mezzio/mezzio-fastroute: ^3.4
- mezzio/mezzio-helpers: ^5.8
- phpunit/phpunit: ^9.5.10
- symfony/dotenv: ^6.0.3
- dev-master
- 1305.x-dev
- 1085.x-dev
- 7.x-dev
- 7.6.0
- 7.5.0
- 7.4.0
- 7.3.0
- 7.2.1
- 7.2.0
- 7.1.0
- 7.0.0
- 6.x-dev
- 6.11.1
- 6.11.0
- 6.10.1
- 6.10.0
- 6.9.4
- 6.9.3
- 6.9.2
- 6.9.1
- 6.9.0
- 6.8.0
- 6.7.0
- 6.6.8
- 6.6.7
- 6.1.6
- 6.1.5
- 6.1.4
- 6.1.3
- 6.1.2
- 6.1.1
- 6.1.0
- 6.0.1
- 6.0.0
- 5.x-dev
- 5.10.0
- 5.9.1
- 5.9.0
- 5.8.23
- 5.8.22
- 5.8.21
- 5.8.20
- 5.8.19
- 5.8.18
- 5.8.15
- 5.8.14
- 5.8.13
- 5.8.12
- 5.8.11
- 5.8.10
- 5.8.9
- 5.8.8
- 5.8.7
- 5.8.6
- 5.8.5
- 5.8.4
- 5.8.3
- 5.8.2
- 5.8.1
- 5.8.0
- 5.7.3
- 5.7.2
- 5.7.1
- 5.7.0
- 5.6.8
- 5.6.7
- 5.6.5
- 5.6.4
- 5.6.3
- 5.6.2
- 5.6.1
- 5.6.0
- 5.5.2
- 5.5.1
- 5.5.0
- 5.4.2
- 5.4.1
- 5.4.0
- 5.3.2
- 5.3.1
- 5.3.0
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.15
- 5.1.14
- 5.1.13
- 5.1.12
- 5.1.11
- 5.1.10
- 5.1.9
- 5.1.8
- 5.1.7
- 5.1.6
- 5.1.5
- 5.1.4
- 5.1.3
- 5.1.2
- 5.1.1
- 5.1.0
- 5.0.2
- 5.0.1
- 5.0.0
- 4.6.12
- 4.6.11
- 4.6.10
- 4.6.9
- 4.6.8
- 4.6.7
- 4.6.6
- 4.6.5
- 4.6.4
- 4.6.3
- 4.6.2
- 4.6.1
- 4.6.0
- 4.5.0
- 4.4
- 4.3.0
- 4.2.0
- 4.1.1
- 4.1.0
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.2.0
- 3.1.0
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.1.0
- 2.0.0
- v1.0.0
- dev-test-new-guzzle
- dev-edit-docs
- dev-fix-locking-transactions-2
- dev-fix-locking-transactions
- dev-add-priority
- dev-laminas
- dev-add-process-tracker
- dev-cron-multiplexer
- dev-5.x-multiplexer-logs
- dev-multiplexer-logs
- dev-task-interface
- dev-develop
- dev-cworker-feature
This package is auto-updated.
Last update: 2025-01-06 19:35:34 UTC
README
rollun-callback
- библиотека, которая кроме полезных callable
объектов дает возможность передавать код на
выполнение другому процессу, машине или очереди. Так же эта библиотека дает возможность быстро поднять endpoint
для
работы webhook
- сервис, который сразу же возвращает управление, несмотря на длительность возможных операций.
Переход на версию php 8
При переходе на PHP v.8 и Laminas выявлены следующие проблемы.
1. Проблема с ресурсами CURL
По цепочке зависимостей, которую удалось установить, тянется пакет guzzle/guzzle: v3.9.0. В этом пакете используется расширение php-curl. В версиях php < 8 функции типа curl_init возвращали ресурс, и в коде самого пакета guzzle/guzzle: v3.9.0 есть много проверок типа
// В одних местах $handler = curl_init(); ... // В других местах if (!is_resource($handler)) { throw new Exception(); }
Так как $handler теперь обьект, эти проверки не проходят и выбрасываются исключения.
Единственное решение, которое смог придумать, форкнуть устаревший пакет (уже давно не поддерживается и находится в архиве) guzzle/guzzle и переписать условия проверки с is_resource на instanceof.
2. Проблемы с тестами
Все закомментировал, нужно отдельно разбираться.
2.1. Метод \rollun\test\functional\Callback\Queues\Adapter\SqsAdapterTest::testCreateAdapterWithDeadLetterQueue()
При попытке получить с контейнера сервис DeadLetterQueue::class, выбрасывается исключение. Такой сервис не сконфигурирован.
2.2. Класс \rollun\test\functional\Callback\PidKiller\WorkerManagerTest
В данном классе все тесты вызывают метод \rollun\callback\PidKiller\LinuxPidKiller::ps(), который был удален 25.06.2019
Поправил
2.3. Класс \rollun\test\unit\Callback\Queues\Adapter\SqsAdapterTest
Закомментировал все тесты