google/longrunning
Idiomatic PHP client for Google’s LongRunning Operations API. Install via Composer, supports REST and optional gRPC for streaming, and integrates with Google Cloud PHP authentication and debugging guides. Beta but largely stable.
while ($isRunning) sleep(5)) with a Google-recommended, production-tested client, reducing technical debt by 50–70%.ShouldQueue) and Horizon dashboard, enabling unified async workflows. For example:
google/longrunning and update the UI/database atomically.operation->getMetadata()), enabling Laravel to dynamically update UI/UX (e.g., progress tracking, error details).ShouldQueue for async execution. Example:
use Google\Cloud\LongRunning\LongRunningOperationsClient;
class ExportBigQueryDataJob implements ShouldQueue {
public function handle() {
$client = app(LongRunningOperationsClient::class);
$operation = $client->waitOperation($operationName);
// Update database/UI with $operation->getMetadata().
}
}
listOperations() and cancelOperation().CloudOperationManager to abstract LROs across GCP, AWS, and Azure, reducing vendor lock-in.config/services.php to centralize GCP credentials and validate IAM roles during deployment.ext-grpc (PHP 8.1+). Without it, REST is a fallback, but performance may degrade for high-throughput scenarios.
composer.json and provide a fallback REST configuration for environments where gRPC isn’t available.^0.7.0) in composer.json.ListOperations with partial_success flag) may require backward-compatible code if older GCP services are used.
config/services.php suffice, or is a custom credential manager needed?CloudOperationManager for AWS/Azure compatibility?ext-grpc available for the target PHP version (8.1+)? If not, will REST be an acceptable fallback?ShouldQueue for async execution. Example:
$job = new ExportBigQueryDataJob($operationName);
dispatch($job);
listOperations() and cancelOperation().Notifications to alert users when operations complete/fail (e.g., Slack, email).operation->getMetadata()) to render dynamic UI elements (e.g., progress tracking).roles/bigquery.jobUser, roles/compute.admin).RetrySettings to optimize API calls and reduce costs (e.g., maxAttempts: 5, initialDelay: 1000ms).composer.json and CI/CD pipelines.pecl install grpc). Provide a fallback REST configuration for environments without gRPC.ext-grpc in Docker images or use multi-stage builds to minimize runtime dependencies.while ($isRunning) sleep(5)) across Laravel jobs/controllers.google/longrunning into one high-impact workflow (e.g., BigQuery exports or AI training jobs).waitOperation() or pollUntilDone().cancelOperation()) and metadata handling (getMetadata()).How can I help you explore Laravel packages today?