Skip to content

Conversation

@vadimonus
Copy link
Contributor

Currently it is not possible to use job batches with Redis Cluster, both with Predis and Phpredis.

PhpRedis does not supports pipelining for Redis Cluster (https://github.com/phpredis/phpredis/blob/develop/cluster.md#pipelining), but supports transaction (making separate transaction for each node, https://github.com/phpredis/phpredis/blob/develop/cluster.md#transactions)

Predis does not supports transactions for Redis Cluster (https://github.com/predis/predis/blob/v2.x/src/Transaction/MultiExec.php#L77). But it pretty well works with pipelining (https://github.com/predis/predis?tab=readme-ov-file#command-pipelines)

This PR uses transaction, pipelining or both, depending on connection type.

Current behaviour is covered with existing tests. But currently i see no way, how to test new behaviour. Currently testing environment does not provide redis cluster.

@taylorotwell
Copy link
Member

I am closing this pull request because it lacks sufficient explanation, tests, or both. It is difficult for us to merge pull requests without these things because the change may introduce breaking changes to the framework.

Feel free to re-submit your change with a thorough explanation of the feature and tests - integration tests are preferred over unit tests. Please include it's benefit to end users; the reasons it does not break any existing features; how it makes building web applications easier, etc.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants