diff --git a/samples/appengine/flexible/tasks/create_http_task.py b/samples/appengine/flexible/tasks/create_http_task.py deleted file mode 100644 index 6ff3a6a2..00000000 --- a/samples/appengine/flexible/tasks/create_http_task.py +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright 2019 Google LLC All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import print_function - -import argparse -import datetime - - -def create_http_task(project, - queue, - location, - url, - payload=None, - in_seconds=None): - # [START cloud_tasks_create_http_task] - """Create a task for a given queue with an arbitrary payload.""" - - from google.cloud import tasks_v2beta3 - from google.protobuf import timestamp_pb2 - - # Create a client. - client = tasks_v2beta3.CloudTasksClient() - - # TODO(developer): Uncomment these lines and replace with your values. - # project = 'my-project-id' - # queue = 'my-appengine-queue' - # location = 'us-central1' - # url = 'https://<project-id>.appspot.com/example_task_handler' - # payload = 'hello' - - # Construct the fully qualified queue name. - parent = client.queue_path(project, location, queue) - - # Construct the request body. - task = { - 'http_request': { # Specify the type of request. - 'http_method': 'POST', - 'url': url # The full url path that the task will be sent to. - } - } - if payload is not None: - # The API expects a payload of type bytes. - converted_payload = payload.encode() - - # Add the payload to the request. - task['http_request']['body'] = converted_payload - - if in_seconds is not None: - # Convert "seconds from now" into an rfc3339 datetime string. - d = datetime.datetime.utcnow() + datetime.timedelta(seconds=in_seconds) - - # Create Timestamp protobuf. - timestamp = timestamp_pb2.Timestamp() - timestamp.FromDatetime(d) - - # Add the timestamp to the tasks. - task['schedule_time'] = timestamp - - # Use the client to build and send the task. - response = client.create_task(parent, task) - - print('Created task {}'.format(response.name)) - return response -# [END cloud_tasks_create_http_task] - - -if __name__ == '__main__': - parser = argparse.ArgumentParser( - description=create_http_task.__doc__, - formatter_class=argparse.RawDescriptionHelpFormatter) - - parser.add_argument( - '--project', - help='Project of the queue to add the task to.', - required=True, - ) - - parser.add_argument( - '--queue', - help='ID (short name) of the queue to add the task to.', - required=True, - ) - - parser.add_argument( - '--location', - help='Location of the queue to add the task to.', - required=True, - ) - - parser.add_argument( - '--url', - help='The full url path that the request will be sent to.', - required=True, - ) - - parser.add_argument( - '--payload', - help='Optional payload to attach to the push queue.' - ) - - parser.add_argument( - '--in_seconds', type=int, - help='The number of seconds from now to schedule task attempt.' - ) - - args = parser.parse_args() - - create_http_task( - args.project, args.queue, args.location, args.url, - args.payload, args.in_seconds) diff --git a/samples/appengine/flexible/tasks/create_http_task_test.py b/samples/appengine/flexible/tasks/create_http_task_test.py deleted file mode 100644 index d452fb77..00000000 --- a/samples/appengine/flexible/tasks/create_http_task_test.py +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 2019 Google LLC All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import os - -import create_http_task - -TEST_PROJECT_ID = os.getenv('GCLOUD_PROJECT') -TEST_LOCATION = os.getenv('TEST_QUEUE_LOCATION', 'us-central1') -TEST_QUEUE_NAME = os.getenv('TEST_QUEUE_NAME', 'my-appengine-queue') - - -def test_create_task(): - url = 'https://' + TEST_PROJECT_ID + '.appspot.com/example_task_handler' - result = create_http_task.create_http_task( - TEST_PROJECT_ID, TEST_QUEUE_NAME, TEST_LOCATION, url) - assert TEST_QUEUE_NAME in result.name