Repository navigation
Conversation
Laravel Cloud's managed queues use the `cloud` driver, which is backed by SQS and refuses a delay over 900 seconds. The timer only capped its wake-up for the `sqs` driver, so on Cloud any timer longer than 15 minutes threw an SqsException from SendMessage. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Sorry, Claude went rougue. You can close it if you want. Issue when using Laravel Cloud |
|
Thanks — this is a good catch, and the fix looks right: Laravel Cloud's The red checks aren't caused by your change. The |
|
Merged into The same fix for 2.x ( |
|
The 2.x fix is now released too: Workflow 2.23.0. |
Laravel Cloud's managed queues register a `cloud` driver that wraps SQS, so timers and v2 task dispatches longer than 900 seconds failed with SQS InvalidParameterValue. Treat `cloud` like `sqs` everywhere the 900s dispatch cap and SQS release cap apply. Reported and first fixed for 1.x by Joel-Jensen in durable-workflow#1072. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Problem
Timers::timer()caps the wake-up job's delay at 900 seconds only when the connection's driver issqs. Laravel Cloud's managed queues register aclouddriver (Illuminate\Foundation\Cloud\QueueConnectorwrapsSqsConnector), so on Cloud the cap is skipped and any timer, orawaitWithTimeout(), longer than 15 minutes throws:Fix
The early wake-up already re-dispatches until
stop_atis reached, so a long timer on Cloud now waits in steps of at most 900 seconds, as it does on plain SQS.Evidence
testTimerCapsDelayForLaravelCloudDriver(a copy oftestTimerCapsDelayForSqsDriveron acloudconnection) fails without the change and passes with it.mainhas the same=== 'sqs'check inV2/Support/TimerTransportChunker.phpandV2/Support/BackendCapabilities.php, if you want it carried forward.🤖 Generated with Claude Code