Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/php-package-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
php: [ 7.4, 8.0, 8.1 ]
php: [ 8.2, 8.3, 8.4 ]
steps:
- uses: actions/checkout@v2
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
- uses: getong/rabbitmq-action@v1.2
with:
rabbitmq version: '3.9.5-management-alpine'
rabbitmq version: '4.1.1-management-alpine'
host port: 5672
rabbitmq user: 'guest'
rabbitmq password: 'guest'
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ lint:
vendor/bin/parallel-lint -e php,phpt --exclude vendor .

phpstan:
vendor/bin/phpstan analyse -l 2 -c phpstan.neon src tests/KdybyTests
vendor/bin/phpstan analyse -c phpstan.neon --no-progress --no-ansi --memory-limit=-1

run-tests:
vendor/bin/tester -s -c ./tests/php.ini-unix ./tests/KdybyTests/
Expand Down
27 changes: 14 additions & 13 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,23 +16,22 @@
}
],
"require": {
"php": "^7.4 | ^8.0",
"php": "^8.2",
"nette/di": "^3.0",
"nette/utils": "^3.0",
"php-amqplib/php-amqplib": "~3.1.0"
"nette/utils": "^4.0",
"php-amqplib/php-amqplib": "~3.7.2"
},
"require-dev": {
"kdyby/console": "~2.8",
"nette/bootstrap": "~3.0",
"latte/latte": "~2.4",
"tracy/tracy": "~2.4",
"phpstan/phpstan": "^1.4",
"nette/bootstrap": "~3.2.1",
"tracy/tracy": "~2.10",
"phpstan/phpstan": "^2.1",
"php-coveralls/php-coveralls": "^2.1",
"nette/tester": "^2.3.2",
"mockery/mockery": "~1.3.0",
"mockery/mockery": "~1.6.0",
"php-parallel-lint/php-parallel-lint": "^1.3",
"typo3/class-alias-loader": "^1.0",
"nette/caching": "^3.0"
"nette/caching": "^3.2.2",
"symfony/console": "^6.4.4 | ^7.0"
},
"support": {
"email": "filip@prochazka.su",
Expand All @@ -51,13 +50,15 @@
"minimum-stability": "dev",
"prefer-stable": true,
"extra": {
"branch-alias": {
"dev-master": "1.3-dev"
},
"typo3/class-alias-loader": {
"class-alias-maps": [
"src/Kdyby/RabbitMq/DI/ClassAliasMap.php"
]
}
},
"config": {
"allow-plugins": {
"typo3/class-alias-loader": true
}
}
}
7 changes: 6 additions & 1 deletion phpstan.neon
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
parameters:
level: 2
paths:
- src
- tests/KdybyTests

ignoreErrors:

excludes_analyse:
excludePaths:
- *src/Kdyby/RabbitMq/DI/ClassAliasMap.php


12 changes: 11 additions & 1 deletion src/Kdyby/RabbitMq/AmqpMember.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@ abstract class AmqpMember
*/
protected $conn;

/**
* @var \Psr\Log\LoggerInterface
*/
protected $logger;

/**
* @var \Kdyby\RabbitMq\Channel
*/
Expand Down Expand Up @@ -89,9 +94,14 @@ abstract class AmqpMember
*/
protected $queueDeclared = FALSE;

public function __construct(Connection $conn, ?string $consumerTag = NULL)
public function __construct(
Connection $conn,
\Psr\Log\LoggerInterface $logger,
?string $consumerTag = NULL,
)
{
$this->conn = $conn;
$this->logger = $logger;
$this->consumerTag = empty($consumerTag) ? \sprintf('PHPPROCESS_%s_%s', \gethostname(), \getmypid()) : $consumerTag;

if (!($conn instanceof AMQPLazyConnection)) {
Expand Down
2 changes: 1 addition & 1 deletion src/Kdyby/RabbitMq/AnonymousConsumer.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ class AnonymousConsumer extends \Kdyby\RabbitMq\Consumer

public function __construct(Connection $conn)
{
parent::__construct($conn);
parent::__construct($conn, new \Psr\Log\NullLogger);

$this->setQueueOptions([
'name' => '',
Expand Down
2 changes: 1 addition & 1 deletion src/Kdyby/RabbitMq/Command/AnonConsumerCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;

#[\Symfony\Component\Console\Attribute\AsCommand(name: 'rabbitmq:anon-consumer')]
class AnonConsumerCommand extends \Kdyby\RabbitMq\Command\BaseConsumerCommand
{

protected function configure(): void
{
parent::configure();

$this->setName('rabbitmq:anon-consumer');
$this->setDescription('Starts an anonymouse configured consumer');

$this->getDefinition()->getOption('messages')->setDefault(1);
Expand Down
2 changes: 1 addition & 1 deletion src/Kdyby/RabbitMq/Command/ConsumerCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@

namespace Kdyby\RabbitMq\Command;

#[\Symfony\Component\Console\Attribute\AsCommand(name: 'rabbitmq:consumer')]
class ConsumerCommand extends \Kdyby\RabbitMq\Command\BaseConsumerCommand
{

protected function configure(): void
{
parent::configure();

$this->setName('rabbitmq:consumer');
$this->setDescription('Starts a configured consumer');
}

Expand Down
10 changes: 8 additions & 2 deletions src/Kdyby/RabbitMq/Command/PurgeConsumerCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;

#[\Symfony\Component\Console\Attribute\AsCommand(name: 'rabbitmq:purge')]
class PurgeConsumerCommand extends \Symfony\Component\Console\Command\Command
{

Expand All @@ -21,7 +22,6 @@ class PurgeConsumerCommand extends \Symfony\Component\Console\Command\Command
protected function configure(): void
{
$this
->setName('rabbitmq:purge')
->setDescription('Purges all messages in queue associated with given consumer')
->addArgument('name', InputArgument::REQUIRED, 'Consumer Name')
->addOption('no-confirmation', NULL, InputOption::VALUE_NONE, 'Whether it must be confirmed before purging');
Expand All @@ -32,7 +32,13 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$noConfirmation = (bool) $input->getOption('no-confirmation');

if (!$noConfirmation && $input->isInteractive()) {
$confirmation = $this->getHelper('dialog')->askConfirmation($output, \sprintf('<question>Are you sure you wish to purge "%s" queue? (y/n)</question>', $input->getArgument('name')), FALSE);
$question = new \Symfony\Component\Console\Question\ConfirmationQuestion(
question: \sprintf('<question>Are you sure you wish to purge "%s" queue? (y/n)</question>', $input->getArgument('name')),
default: false,
);
/** @var \Symfony\Component\Console\Helper\SymfonyQuestionHelper $helper */
$helper = $this->getHelper('dialog');
$confirmation = $helper->ask($input, $output, $question);
if (!$confirmation) {
$output->writeln('<error>Purging cancelled!</error>');

Expand Down
2 changes: 1 addition & 1 deletion src/Kdyby/RabbitMq/Command/RpcServerCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;

#[\Symfony\Component\Console\Attribute\AsCommand(name: 'rabbitmq:rpc-server')]
class RpcServerCommand extends \Symfony\Component\Console\Command\Command
{

Expand All @@ -21,7 +22,6 @@ class RpcServerCommand extends \Symfony\Component\Console\Command\Command
protected function configure(): void
{
$this
->setName('rabbitmq:rpc-server')
->setDescription('Starts a configured RPC server')
->addArgument('name', InputArgument::REQUIRED, 'Server Name')
->addOption('messages', 'm', InputOption::VALUE_OPTIONAL, 'Messages to consume', 0)
Expand Down
2 changes: 1 addition & 1 deletion src/Kdyby/RabbitMq/Command/SetupFabricCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;

#[\Symfony\Component\Console\Attribute\AsCommand(name: 'rabbitmq:setup-fabric')]
class SetupFabricCommand extends \Symfony\Component\Console\Command\Command
{

Expand All @@ -21,7 +22,6 @@ class SetupFabricCommand extends \Symfony\Component\Console\Command\Command
protected function configure(): void
{
$this
->setName('rabbitmq:setup-fabric')
->setDescription('Sets up the Rabbit MQ fabric')
->addOption('debug', 'd', InputOption::VALUE_NONE, 'Enable Debugging');
}
Expand Down
2 changes: 1 addition & 1 deletion src/Kdyby/RabbitMq/Command/StdInProducerCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;

#[\Symfony\Component\Console\Attribute\AsCommand(name: 'rabbitmq:stdin-producer')]
class StdInProducerCommand extends \Symfony\Component\Console\Command\Command
{

Expand All @@ -21,7 +22,6 @@ class StdInProducerCommand extends \Symfony\Component\Console\Command\Command
protected function configure(): void
{
$this
->setName('rabbitmq:stdin-producer')
->setDescription('Creates message from given STDIN and passes it to configured producer')
->addArgument('name', InputArgument::REQUIRED, 'Producer Name')
->addOption('debug', 'd', InputOption::VALUE_OPTIONAL, 'Enable Debugging', FALSE);
Expand Down
5 changes: 4 additions & 1 deletion src/Kdyby/RabbitMq/Connection.php
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,10 @@ public function injectPanel(Diagnostics\Panel $panel): void
// phpcs:disable SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingReturnTypeHint,SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingParameterTypeHint
public function channel($id = NULL): Channel
{
if (isset($this->channels[$id])) {
if (
$id !== NULL
&& isset($this->channels[$id])
) {
return $this->channels[$id];
}

Expand Down
Loading
Loading