我有两个作业,我只想在第一个作业完成时执行第二个作业。两者都是在云调度器上调度的。
我正在尝试使用get API检查第一个作业的状态,但status字段下没有数据。请注意,在我的第一个作业运行时,我曾尝试获取此数据。
{
"name": "projects/<project name>/locations/us-central1/jobs/<job name>",
"description": "Sample",
"appEngineHttpTarget": {
"httpMethod": "GET",
"appEngineRouting": {
"version": "test-v1",
"host": "test-v1.test.googleplex.com"
},
"relativeUri": "/api/v1/test",
"headers": {
"User-Agent": "AppEngine-Google; (+http://code.google.com/appengine)"
}
},
"userUpdateTime": "2020-07-17T11:44:16Z",
"state": "ENABLED",
"status": {},
"scheduleTime": "2020-07-18T11:00:00.834928Z",
"lastAttemptTime": "2020-07-17T11:44:30.439092Z",
"retryConfig": {
"maxRetryDuration": "0s",
"minBackoffDuration": "5s",
"maxBackoffDuration": "3600s",
"maxDoublings": 16
},
"schedule": "0 04 * * *",
"timeZone": "America/Los_Angeles",
"attemptDeadline": "18000s"
}我哪里错了?
发布于 2020-07-17 23:31:50
我查看了有关这方面的文档,它看起来像是获取作业是否正在运行您需要使用job,因为它将返回状态,但我在文档中找不到关于作业何时完成的描述。
看起来,一旦作业完成,它将填充字段status,但status将为您提供作业的http状态的描述(因此,它将告诉您它是失败还是成功,以及有关作业失败或成功的特定信息)。
因此,在这种情况下,您需要检查状态是否为ENABLED (这将告诉您作业未暂停或具有其他状态),以及状态是否已填充(这意味着作业已完成,同时您将知道作业是成功还是失败)。
https://stackoverflow.com/questions/62954733
复制相似问题