gpt4 book ai didi

java - Cron Job 仅在 Google App Engine for Java 中执行一次

转载 作者:行者123 更新时间:2023-11-30 05:25:43 26 4
gpt4 key购买 nike

我想设置一个 cron 作业,每 2 分钟发送一封电子邮件。但是,当我启动 cron 作业时,它会立即发送一封电子邮件,然后就不再发送了。但是,当我转到 Google Cloud Console 并查看我的 cron 作业时,它说它运行成功,但我没有收到电子邮件。

我遵循了本教程:https://rominirani.com/episode-9-using-the-cron-service-to-run-scheduled-tasks-8bc7dba91a77

web.xml file:

<servlet>
<servlet-name>subscribe</servlet-name>
<servlet-class>blogapp.CronServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>subscribe</servlet-name>
<url-pattern>/subscribe</url-pattern>
</servlet-mapping>

cron.xml file:

<cronentries>
<cron>
<url>/subscribe</url>
<description>Daily Digest from The Rambling Programmer</description>
<!-- <schedule>every day 17:00</schedule> -->
<schedule>every 2 minutes</schedule>
<timezone>America/Chicago</timezone>
</cron>
</cronentries>

CronServlet.java file:

public class CronServlet extends HttpServlet {

private static final Logger _logger = Logger.getLogger(CronServlet.class.getName());
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
try {
_logger.info("Cron Job has been executed");
/// other logic to send email
/// sendEmail(email, subject, content);
}

resp.sendRedirect("/subscribe.jsp");
}
catch (Exception ex) {
resp.getWriter().println("Error subscribing");
}
}
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);

}

没有弹出错误,一封电子邮件已成功发送,所以我不确定为什么它没有像我希望的那样每两分钟运行一次。

谢谢!

最佳答案

我发现这是因为由于某种原因它没有调用sendEmail()!

关于java - Cron Job 仅在 Google App Engine for Java 中执行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58667287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com