Skip to content

Commit a8b1ab8

Browse files
authored
Update Python Task Queue code sample. (#1128)
* Update Python Task Queue code sample. * fix: pyfmt
1 parent cd8938b commit a8b1ab8

File tree

1 file changed

+8
-15
lines changed
  • Python/taskqueues-backup-images/functions

1 file changed

+8
-15
lines changed

Python/taskqueues-backup-images/functions/main.py

+8-15
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import json
2424
import pathlib
2525
from urllib.parse import urlparse
26-
from firebase_admin import initialize_app, storage
26+
from firebase_admin import initialize_app, storage, functions
2727
from firebase_functions import https_fn, tasks_fn, params
2828
import google.auth
2929
from google.auth.transport.requests import AuthorizedSession
@@ -96,9 +96,7 @@ def backupapod(req: tasks_fn.CallableRequest) -> str:
9696
@https_fn.on_request()
9797
def enqueuebackuptasks(_: https_fn.Request) -> https_fn.Response:
9898
"""Adds backup tasks to a Cloud Tasks queue."""
99-
tasks_client = tasks_v2.CloudTasksClient()
100-
task_queue = tasks_client.queue_path(params.PROJECT_ID.value, SupportedRegion.US_CENTRAL1,
101-
"backupapod")
99+
task_queue = functions.task_queue("backupapod")
102100
target_uri = get_function_url("backupapod")
103101

104102
for i in range(BACKUP_COUNT):
@@ -108,19 +106,14 @@ def enqueuebackuptasks(_: https_fn.Request) -> https_fn.Response:
108106
schedule_delay = timedelta(hours=batch)
109107
schedule_time = datetime.now() + schedule_delay
110108

109+
dispatch_deadline_seconds = 60 * 5 # 5 minutes
110+
111111
backup_date = BACKUP_START_DATE + timedelta(days=i)
112112
body = {"data": {"date": backup_date.isoformat()[:10]}}
113-
task = tasks_v2.Task(http_request={
114-
"http_method": tasks_v2.HttpMethod.POST,
115-
"url": target_uri,
116-
"headers": {
117-
"Content-type": "application/json"
118-
},
119-
"body": json.dumps(body).encode()
120-
},
121-
schedule_time=schedule_time)
122-
tasks_client.create_task(parent=task_queue, task=task)
123-
113+
task_options = functions.TaskOptions(schedule_time=schedule_time,
114+
dispatch_deadline_seconds=dispatch_deadline_seconds,
115+
uri=target_uri)
116+
task_queue.enqueue(body, task_options)
124117
return https_fn.Response(status=200, response=f"Enqueued {BACKUP_COUNT} tasks")
125118
# [END v2EnqueueTasks]
126119

0 commit comments

Comments
 (0)