我在 GAE 中使用任务队列为我的应用程序执行一些后台工作。我知道某项特定任务有 10 分钟的时间限制。我关心的是如何在本地环境中测试这个东西。我尝试了线程睡眠,但它没有像谷歌应用引擎文档中提到的那样抛出任何异常。也就是这个时间限制是用CPU时间还是实际时间来衡量的。
谢谢。
我在 GAE 中使用任务队列为我的应用程序执行一些后台工作。我知道某项特定任务有 10 分钟的时间限制。我关心的是如何在本地环境中测试这个东西。我尝试了线程睡眠,但它没有像谷歌应用引擎文档中提到的那样抛出任何异常。也就是这个时间限制是用CPU时间还是实际时间来衡量的。
谢谢。
时间以挂钟时间计量。开发服务器不强制执行时间限制,虽然不清楚你为什么要测试它,因为你的测试不太可能像在生产环境中那样执行,所以试着猜测你能在生产环境中完成多少生产服务器上的 10 分钟通过查看您在开发服务器上 10 分钟内可以完成的工作将严重失败。
对于您的开发服务器,在启动任务时启动计时器。如果您达到 10 分钟挂钟时间,请继续检查您的代码。当你到达时,抛出一个 DeadlineExceededError。最好在调用代码的特定函数的类处理程序中使用 try 和 except 语句。