【发布时间】:2020-08-26 15:34:57
【问题描述】:
我有一个网站,其中包含我想要定期运行的代码(发送电子邮件)。
我的web.xml如下:
<servlet-mapping>
<servlet-name>sendEmailsController</servlet-name>
<url-pattern>/cron/sendEmails</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>sendEmailsController</servlet-name>
<servlet-class>sendEmailsController</servlet-class>
</servlet>
我正在尝试安排代码通过 Google Cloud Scheduler 运行,但是当我编辑“服务帐户”字段以插入我的 xxxxx@gcp-sa-cloudscheduler.iam.gserviceaccount.com 时,我得到一个黑色弹窗提示:更新作业“myJob”失败:未知错误
我尝试将服务帐户字段留空并显示成功,但它不运行我的代码(不发送电子邮件),也不打印我留在代码中的日志。 此外,我尝试将 Cloud Scheduler Admin、Cloud Scheduler Job Runner 和 Cloud Scheduler Service Agent 角色添加到服务帐户,以防权限问题,但它也不起作用。
对于频率,我使用 * * * * *(每分钟),目标是 HTTP,HTTP 方法是 GET,URL 是 https://myDomain/cron/sendEmails
【问题讨论】:
-
从服务账号来看,你上面提到的是一个Cloud Scheduler服务账号。由于您将使用此服务帐户运行计划服务并启动“发送电子邮件”服务。这个服务帐号应该grant the necessary role 也可以调用Send Email 方法。您能指出 Send Email 方法的部署位置吗?
标签: google-app-engine google-cloud-platform cron google-cloud-scheduler