Skip to content

Underlying google libs throwing an exception #22

Closed
@atrauzzi

Description

@atrauzzi

I'm getting the following exception while attempting to push a test job onto a queue:

Google\ApiCore\ValidationException with message 'Error rendering 'projects/{project=*}/locations/{location=*}/queues/{queue=*}': expected binding 'project' to match segment '{project=*}', instead got null
Provided bindings: Array
(
    [project] => 
    [location] => 
    [queue] => global
)
'
--
 <class></class>() at vendor/google/gax/src/ResourceTemplate/RelativeResourceTemplate.php:281
 <class>Google\ApiCore\ResourceTemplate\RelativeResourceTemplate</class>->renderingException() at vendor/google/gax/src/ResourceTemplate/RelativeResourceTemplate.php:132
 <class>Google\ApiCore\ResourceTemplate\RelativeResourceTemplate</class>->render() at vendor/google/gax/src/PathTemplate.php:88
 <class>Google\ApiCore\PathTemplate</class>->render() at vendor/google/cloud-tasks/src/V2/Gapic/CloudTasksGapicClient.php:237
 <class>Google\Cloud\Tasks\V2\Gapic\CloudTasksGapicClient</class>::queueName() at vendor/stackkit/laravel-google-cloud-tasks-queue/src/CloudTasksQueue.php:55
 <class>Stackkit\LaravelGoogleCloudTasksQueue\CloudTasksQueue</class>->pushToCloudTasks() at vendor/stackkit/laravel-google-cloud-tasks-queue/src/CloudTasksQueue.php:36
 <class>Stackkit\LaravelGoogleCloudTasksQueue\CloudTasksQueue</class>->push() at vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php:182
 <class>Illuminate\Bus\Dispatcher</class>->pushCommandToQueue() at vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php:158
 <class>Illuminate\Bus\Dispatcher</class>->dispatchToQueue() at vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php:73
 <class>Illuminate\Bus\Dispatcher</class>->dispatch() at eval()'d code:1
 <class></class>eval() at vendor/psy/psysh/src/ExecutionLoopClosure.php:55
 <class></class>Psy\{closure}() at vendor/psy/psysh/src/ExecutionClosure.php:96
 <class>Psy\ExecutionClosure</class>->execute() at vendor/psy/psysh/src/Shell.php:371
 <class>Psy\Shell</class>->doInteractiveRun() at vendor/psy/psysh/src/Shell.php:342
 <class>Psy\Shell</class>->doRun() at vendor/symfony/console/Application.php:166
 <class>Symfony\Component\Console\Application</class>->run() at vendor/psy/psysh/src/Shell.php:317
 <class>Psy\Shell</class>->run() at vendor/laravel/tinker/src/Console/TinkerCommand.php:81
 <class>Laravel\Tinker\Console\TinkerCommand</class>->handle() at vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
 <class>Illuminate\Container\BoundMethod</class>::Illuminate\Container\{closure}() at vendor/laravel/framework/src/Illuminate/Container/Util.php:37
 <class>Illuminate\Container\Util</class>::unwrapIfClosure() at vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93
 <class>Illuminate\Container\BoundMethod</class>::callBoundMethod() at vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:37
 <class>Illuminate\Container\BoundMethod</class>::call() at vendor/laravel/framework/src/Illuminate/Container/Container.php:596
 <class>Illuminate\Container\Container</class>->call() at vendor/laravel/framework/src/Illuminate/Console/Command.php:134
 <class>Illuminate\Console\Command</class>->execute() at vendor/symfony/console/Command/Command.php:256
 <class>Symfony\Component\Console\Command\Command</class>->run() at vendor/laravel/framework/src/Illuminate/Console/Command.php:121
 <class>Illuminate\Console\Command</class>->run() at vendor/symfony/console/Application.php:971
 <class>Symfony\Component\Console\Application</class>->doRunCommand() at vendor/symfony/console/Application.php:290
 <class>Symfony\Component\Console\Application</class>->doRun() at vendor/symfony/console/Application.php:166
 <class>Symfony\Component\Console\Application</class>->run() at vendor/laravel/framework/src/Illuminate/Console/Application.php:93
 <class>Illuminate\Console\Application</class>->run() at vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:129
 <class>Illuminate\Foundation\Console\Kernel</class>->handle() at artisan:35

I've configured everything as best as I can infer from the home page of this project. I'm using the GOOGLE_APPLICATION_CREDENTIALS environment variable to point to a service account key file. Everything seems to check out in that regard. I'm just not sure how or why project and location are showing up null here? My queue configs all seem to indicate that the values I've provided are present.

>>> config('queue');
=> [
     "default" => "angry",
     "connections" => [
       "angry" => [
         "driver" => "angry",
         "queue" => "default",
       ],
       "global" => [
         "driver" => "cloudtasks",
         "project" => "my-project",
         "location" => "us-central1",
         "handler" => "https://my-cloud-run-service-nn.a.run.app/handle-task",
         "queue" => "global",
         "service_account_email" => "[email protected]",
       ],
       "regional" => [
         "driver" => "cloudtasks",
         "project" => "my-project",
         "location" => "us-central1",
         "handler" => "https://my-cloud-run-service-nn.a.run.app/handle-task",
         "queue" => "ca",
         "service_account_email" => "[email protected]",
       ],
     ],
     "failed" => [
       "database" => "regional",
       "table" => "failed_jobs",
     ],
   ]

Do you maybe have any suggestions on what I can look into to determine why those two values are null, despite being configured in queue.php?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions