cakephp / cakephp/queue

[InvalidArgumentException] Unknown connection scheme: 'redis'

Offen
#48 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
PHP
Sterne
36
Forks
22
Ø Merge
20 Std. 36 Min.
Gemergte PRs (30 T.)
2

Beschreibung

I've been trying this plugin for mailing purpose. Somehow I've an issue connecting to redis.

When I'm using predis directly, I can't connect and submit my data to the redis.

This is my stack trace

2021-01-20 08:33:30 Error: [InvalidArgumentException] Unknown connection scheme: 'redis'. in C:\Dev\www\emailtemplate\vendor\predis\predis\src\Connection\Factory.php on line 87
Stack Trace:
- C:\Dev\www\emailtemplate\vendor\predis\predis\src\Client.php:120
- C:\Dev\www\emailtemplate\vendor\predis\predis\src\Client.php:59
- C:\Dev\www\emailtemplate\vendor\enqueue\redis\PRedis.php:126
- C:\Dev\www\emailtemplate\vendor\enqueue\redis\RedisConnectionFactory.php:105
- C:\Dev\www\emailtemplate\vendor\enqueue\redis\RedisConnectionFactory.php:89
- call_user_func - [internal], line ??- C:\Dev\www\emailtemplate\vendor\enqueue\redis\RedisContext.php:160
- C:\Dev\www\emailtemplate\vendor\enqueue\redis\RedisProducer.php:70
- C:\Dev\www\emailtemplate\vendor\enqueue\enqueue\Client\Driver\GenericDriver.php:225
- C:\Dev\www\emailtemplate\vendor\enqueue\enqueue\Client\Driver\GenericDriver.php:62
- C:\Dev\www\emailtemplate\vendor\enqueue\enqueue\Client\Producer.php:121
- C:\Dev\www\emailtemplate\vendor\enqueue\enqueue\Client\Producer.php:53
- C:\Dev\www\emailtemplate\vendor\enqueue\simple-client\SimpleClient.php:185
- C:\Dev\www\emailtemplate\vendor\cakephp\queue\src\QueueManager.php:217
- C:\Dev\www\emailtemplate\vendor\cakephp\queue\src\Mailer\QueueTrait.php:53
- C:\Dev\www\emailtemplate\src\Controller\Api\EmailsController.php:120
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Controller\Controller.php:529
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Controller\ControllerFactory.php:79
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Http\BaseApplication.php:251
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Http\Runner.php:77
- C:\Dev\www\emailtemplate\vendor\cakephp\authorization\src\Middleware\AuthorizationMiddleware.php:129
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Http\Runner.php:73
- C:\Dev\www\emailtemplate\vendor\cakephp\authentication\src\Middleware\AuthenticationMiddleware.php:122
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Http\Runner.php:73
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Routing\Middleware\RoutingMiddleware.php:166
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Http\Runner.php:73
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Http\Middleware\BodyParserMiddleware.php:174
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Http\Runner.php:73
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Routing\Middleware\RoutingMiddleware.php:166
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Http\Runner.php:73
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Routing\Middleware\AssetMiddleware.php:68
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Http\Runner.php:73
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Error\Middleware\ErrorHandlerMiddleware.php:121
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Http\Runner.php:73
- C:\Dev\www\emailtemplate\vendor\cakephp\debug_kit\src\Middleware\DebugKitMiddleware.php:60
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Http\Runner.php:73
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Http\Runner.php:58
- C:\Dev\www\emailtemplate\vendor\cakephp\cakephp\src\Http\Server.php:90
- C:\Dev\www\emailtemplate\webroot\index.php:40

My configuration look like this.

'DebugKit' => [
        'ignoreAuthorization' => true,
    ],
	
	'Queue' => [
		'default' => [
			  // A DSN for your configured backend. default: null
			  'url' => 'redis:',
			  //'url' => 'redis://127.0.0.1:6397',

			  // The queue that will be used for sending messages. default: default
			  // This can be overriden when queuing or processing messages
			  'queue' => 'default',

			  // The name of a configured logger, default: null
			  'logger' => 'stdout',

			  // The name of an event listener class to associate with the worker
			  //'listener' => \App\Listener\WorkerListener::class,
		]
	],

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der in der Issue gezeigten Queue-Konfiguration und verfolge die Redis-Verbindung durch die erwähnten Einträge RedisConnectionFactory.php und PRedis.php. Reproduziere den gemeldeten Fehler wegen eines unbekannten Schemas und überprüfe anschließend, dass die konfigurierte Redis DSN akzeptiert wird und sich queued mail ohne diese Ausnahme verbinden kann.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
php, redis
Bereich
backend, distributed-systems
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.