我有一个在 Grails 1.1.2 上运行的 Internet 应用程序,它集成了 Spring WebFlow 机制。问题是有些机器人忽略了 robots.txt 并且经常进入流程。
因为流程的第二步需要一些人工智慧,所以机器人会在第一步之后留下开放的流程。这会导致大量开放流,从而导致大量废弃的开放休眠会话。
您知道 Grails+Spring WebFlow 中这种无人值守流(加上休眠会话)的一些常见清理机制吗?
谢谢,帕维尔
我有一个在 Grails 1.1.2 上运行的 Internet 应用程序,它集成了 Spring WebFlow 机制。问题是有些机器人忽略了 robots.txt 并且经常进入流程。
因为流程的第二步需要一些人工智慧,所以机器人会在第一步之后留下开放的流程。这会导致大量开放流,从而导致大量废弃的开放休眠会话。
您知道 Grails+Spring WebFlow 中这种无人值守流(加上休眠会话)的一些常见清理机制吗?
谢谢,帕维尔
我的第一个建议是需要一个 captia 才能访问流程。如果这不是一个选项,您可以在网络流程的第一步中设置较短的会话时间,然后在第三步中将其重置为更长的时间。一个例子是第一步
session.setMaxInactiveInterval(60);
第三步
session.setMaxInactiveInterval(600);
这将导致第一步或第二步中的任何会话在 60 秒不活动后终止。当会话终止时,与该会话关联的任何休眠会话都将被清除。假设用户在不到 60 秒的时间内完成了步骤一和二,他们将有 10 分钟的时间来完成每个额外的步骤。