forked from GoogleCloudPlatform/python-docs-samples
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate_job.py
More file actions
77 lines (63 loc) · 2.5 KB
/
create_job.py
File metadata and controls
77 lines (63 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Copyright 2019 Google LLC
#
# 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.
def create_scheduler_job(project_id, location_id, service_id):
"""Create a job with an App Engine target via the Cloud Scheduler API"""
# [START cloud_scheduler_create_job]
from google.cloud import scheduler
# Create a client.
client = scheduler.CloudSchedulerClient()
# TODO(developer): Uncomment and set the following variables
# project_id = 'PROJECT_ID'
# location_id = 'LOCATION_ID'
# service_id = 'my-service'
# Construct the fully qualified location path.
parent = client.location_path(project_id, location_id)
# Construct the request body.
job = {
'app_engine_http_target': {
'app_engine_routing': {
'service': service_id
},
'relative_uri': '/log_payload',
'http_method': 'POST',
'body': 'Hello World'.encode()
},
'schedule': '* * * * *',
'time_zone': 'America/Los_Angeles'
}
# Use the client to send the job creation request.
response = client.create_job(parent, job)
print('Created job: {}'.format(response.name))
# [END cloud_scheduler_create_job]
return response
def delete_scheduler_job(project_id, location_id, job_id):
"""Delete a job via the Cloud Scheduler API"""
# [START cloud_scheduler_delete_job]
from google.cloud import scheduler
from google.api_core.exceptions import GoogleAPICallError
# Create a client.
client = scheduler.CloudSchedulerClient()
# TODO(developer): Uncomment and set the following variables
# project_id = 'PROJECT_ID'
# location_id = 'LOCATION_ID'
# job_id = 'JOB_ID'
# Construct the fully qualified job path.
job = client.job_path(project_id, location_id, job_id)
# Use the client to send the job deletion request.
try:
client.delete_job(job)
print("Job deleted.")
except GoogleAPICallError as e:
print("Error: %s" % e)
# [END cloud_scheduler_delete_job]