Bird
Raised Fist0
GCPcloud~20 mins

Cloud Tasks for async processing in GCP - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Cloud Tasks Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ service_behavior
intermediate
2:00remaining
How does Cloud Tasks handle task retries by default?

When a task in Cloud Tasks fails to execute, what is the default behavior for retries?

ACloud Tasks retries the task immediately without delay until it succeeds.
BCloud Tasks retries the task only once after a fixed delay of 5 minutes.
CCloud Tasks does not retry failed tasks automatically; manual retry is required.
DCloud Tasks retries the task with exponential backoff and a maximum retry limit.
Attempts:
2 left
💡 Hint

Think about how systems avoid overwhelming services with repeated immediate retries.

❓ Architecture
intermediate
2:00remaining
Best architecture to process user uploads asynchronously with Cloud Tasks

You want to process user-uploaded images asynchronously to avoid blocking the upload response. Which architecture best uses Cloud Tasks?

AUpload images directly to Cloud Storage and process them synchronously in the upload request handler.
BUpload images directly to Cloud Storage, then enqueue a Cloud Task to process the image asynchronously.
CUpload images to the app server, process them immediately, then enqueue a Cloud Task for logging only.
DUpload images to the app server and store them locally before enqueuing a Cloud Task.
Attempts:
2 left
💡 Hint

Consider decoupling upload and processing to improve user experience.

❓ security
advanced
2:00remaining
Securing Cloud Tasks HTTP targets with authentication

You want to ensure that only Cloud Tasks can invoke your HTTP endpoint. Which method provides the best security?

AAllow all requests and rely on IP filtering to restrict access.
BUse a shared secret in the URL query parameters to authenticate requests.
CConfigure Cloud Tasks to add an OIDC token in the Authorization header for the HTTP request.
DUse basic authentication with username and password in the HTTP headers.
Attempts:
2 left
💡 Hint

Think about secure, token-based authentication methods supported by Cloud Tasks.

❓ Configuration
advanced
2:00remaining
Configuring Cloud Tasks queue rate limits

You want to limit your Cloud Tasks queue to process no more than 10 tasks per second. Which configuration achieves this?

ASet the queue's maxRateLimit property to 10.
BSet the queue's maxConcurrentDispatches property to 10.
CSet the queue's maxTasksPerSecond property to 10.
DSet the queue's maxDispatchesPerSecond property to 10.
Attempts:
2 left
💡 Hint

Look for the property that controls how many tasks are dispatched per second.

✅ Best Practice
expert
3:00remaining
Handling task deduplication in Cloud Tasks

You want to ensure that duplicate tasks are not processed multiple times in Cloud Tasks. Which approach is best?

AImplement idempotency in the task handler to safely process repeated tasks.
BSet the queue to discard tasks with identical payloads automatically.
CRely on Cloud Tasks to automatically detect and discard duplicate payloads.
DUse task names with unique IDs and enable task name deduplication in Cloud Tasks.
Attempts:
2 left
💡 Hint

Think about how to handle duplicates at the processing level rather than relying on the queue.

Practice

(1/5)
1. What is the main purpose of Google Cloud Tasks in an application?
easy
A. To host static websites
B. To store large amounts of data
C. To provide real-time video streaming
D. To manage and execute asynchronous background work

Solution

  1. Step 1: Understand Cloud Tasks role

    Cloud Tasks is designed to handle background jobs asynchronously, so the main app stays responsive.
  2. Step 2: Compare options with Cloud Tasks purpose

    Storing data, streaming video, or hosting websites are not Cloud Tasks functions.
  3. Final Answer:

    To manage and execute asynchronous background work -> Option D
  4. Quick Check:

    Cloud Tasks = async background work [OK]
Hint: Cloud Tasks = async job manager, not storage or hosting [OK]
Common Mistakes:
  • Confusing Cloud Tasks with storage services
  • Thinking Cloud Tasks handles real-time streaming
  • Assuming Cloud Tasks hosts websites
2. Which of the following is the correct way to create a Cloud Task using the Google Cloud Tasks client library in Python?
easy
A. client.create_task(parent=queue_path, task=task)
B. client.add_task(queue=queue_path, task=task)
C. client.new_task(queue=queue_path, task=task)
D. client.push_task(queue=queue_path, task=task)

Solution

  1. Step 1: Recall Cloud Tasks Python client method

    The official method to create a task is create_task with parameters parent and task.
  2. Step 2: Check other options for validity

    Methods add_task, new_task, and push_task do not exist in the client library.
  3. Final Answer:

    client.create_task(parent=queue_path, task=task) -> Option A
  4. Quick Check:

    Use create_task() to add tasks [OK]
Hint: Use create_task() method with parent and task params [OK]
Common Mistakes:
  • Using non-existent methods like add_task or push_task
  • Confusing parameter names like queue instead of parent
  • Trying to create tasks without specifying the queue path
3. Given the following Python code snippet using Google Cloud Tasks client, what will be the output if the task is successfully created?
from google.cloud import tasks_v2
client = tasks_v2.CloudTasksClient()
queue_path = client.queue_path('my-project', 'us-central1', 'my-queue')
task = {"http_request": {"http_method": "POST", "url": "https://example.com/taskhandler"}}
response = client.create_task(parent=queue_path, task=task)
print(response.name)
medium
A. The full resource name of the created task
B. A boolean True indicating success
C. The URL of the task handler
D. An error message

Solution

  1. Step 1: Understand create_task return value

    The create_task method returns a Task object, which includes the task's full resource name.
  2. Step 2: Analyze the print statement

    Printing response.name outputs the full resource name string of the created task.
  3. Final Answer:

    The full resource name of the created task -> Option A
  4. Quick Check:

    response.name = task resource name [OK]
Hint: create_task returns Task object; print response.name for ID [OK]
Common Mistakes:
  • Expecting a boolean or URL instead of resource name
  • Confusing response with request parameters
  • Assuming print outputs error on success
4. You wrote this code to create a Cloud Task but get an error: TypeError: create_task() got an unexpected keyword argument 'queue'. What is the likely cause?
medium
A. Incorrect HTTP method in the task definition
B. Missing authentication credentials
C. Using 'queue' instead of 'parent' as the parameter name
D. Queue does not exist

Solution

  1. Step 1: Analyze the error message

    The error says create_task got an unexpected keyword argument 'queue', meaning 'queue' is not a valid parameter.
  2. Step 2: Recall correct parameter name

    The correct parameter for specifying the queue is 'parent', not 'queue'.
  3. Final Answer:

    Using 'queue' instead of 'parent' as the parameter name -> Option C
  4. Quick Check:

    Use 'parent' param, not 'queue' [OK]
Hint: create_task uses 'parent' param, not 'queue' [OK]
Common Mistakes:
  • Confusing parameter names in method calls
  • Assuming error is due to credentials or queue existence
  • Ignoring exact error message details
5. You want to delay task execution by 10 minutes using Cloud Tasks. Which field should you set in the task definition to achieve this?
hard
A. retry_config with max_attempts set to 10
B. schedule_time with a timestamp 10 minutes in the future
C. http_method set to DELAY
D. dispatch_deadline set to 10 minutes

Solution

  1. Step 1: Identify how to delay task execution

    Cloud Tasks supports delaying execution by setting schedule_time to a future timestamp.
  2. Step 2: Evaluate other options

    dispatch_deadline controls max execution time, http_method DELAY is invalid, retry_config controls retries, not delay.
  3. Final Answer:

    schedule_time with a timestamp 10 minutes in the future -> Option B
  4. Quick Check:

    Use schedule_time to delay tasks [OK]
Hint: Set schedule_time to future timestamp for delay [OK]
Common Mistakes:
  • Confusing dispatch_deadline with scheduling
  • Using invalid HTTP methods to delay tasks
  • Misusing retry_config for delaying execution
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard