Skip to content

Add heartbeat() method to AmqpQueueProvider#28

Merged
TomK merged 8 commits intomasterfrom
DEV-2431
Mar 19, 2026
Merged

Add heartbeat() method to AmqpQueueProvider#28
TomK merged 8 commits intomasterfrom
DEV-2431

Conversation

@TomK
Copy link
Member

@TomK TomK commented Mar 19, 2026

Summary

  • Adds a public heartbeat($connectionMode) method to AmqpQueueProvider that explicitly checks heartbeat status on a specific connection or all active connections
  • Disconnects on missed heartbeats so the next operation triggers a reconnect, consistent with existing heartbeat handling throughout the class
  • Adds two tests: healthy heartbeat check and missed heartbeat detection with disconnect

Test plan

  • Run testHeartbeat — verifies heartbeat on healthy connections does not trigger disconnect
  • Run testHeartbeatAfterMissed — verifies missed heartbeat triggers disconnect (requires RabbitMQ)

🤖 Generated with Claude Code

TomK and others added 3 commits March 19, 2026 11:05
Allows callers to explicitly trigger a heartbeat check on a specific
connection mode or all active connections, disconnecting on missed
heartbeats so the next operation triggers a reconnect.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add heartbeat check counter to AmqpMockProvider to assert that
_heartbeat() is actually invoked rather than short-circuited.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fobilow
fobilow previously approved these changes Mar 19, 2026
Add integration tests for GooglePubSubProvider against the PubSub emulator.
Fix auto_create not working on gRPC transport - the code compared exception
codes against HTTP status codes (404/409) but the Google Cloud PHP library
passes gRPC codes (5/6) when using gRPC transport.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
TomK and others added 4 commits March 19, 2026 12:40
Docker entrypoint doesn't support multi-word commands as a single string.
Run the emulator via docker run in a step with a health check wait.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
PubSub v2 requires the grpc extension to use the emulator - without it,
the REST transport validates credentials before checking the emulator flag.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
PubSub v2 validates credentials before checking the emulator flag.
Pass InsecureCredentials when PUBSUB_EMULATOR_HOST is set and no
explicit credentials are configured.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@TomK TomK merged commit 8a3024f into master Mar 19, 2026
42 checks passed
@TomK TomK deleted the DEV-2431 branch March 19, 2026 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants