代码之家  ›  专栏  ›  技术社区  ›  aidan

在Apache/Mod_Perl页面呈现期间,如何延迟处理?

  •  5
  • aidan  · 技术社区  · 15 年前

    我有一个Apache2/mod_Perl网站。在一个页面上,我需要通过SOAP进行一些服务器/服务器通信。

    呈现页面不需要此通信的结果(但需要用户输入来触发此通信)。

    SOAP通信非常慢。

    所以我要做的是为用户处理和打印页面,然后在幕后做所有的SOAP工作。

    实现这一目标的最佳方法是什么?启动一些叉子?把作业写到一个文件里,让一个cronjob来接它?

    谢谢

    1 回复  |  直到 15 年前
        1
  •  7
  •   Community CDub    8 年前

    有两种解决方案:首先,你可以按照Randal Schwartz的建议去做。 here . 其次,您可以使用消息队列 Beanstalk Gearman . Beanstalk有一个Perl客户机,现在是持久的,非常适合于轻量级的东西。另一方面,Gearman有更多的功能,更多的工作。也有 TheSchwartz -如果不需要太多文档就可以使用它。 cron 是系统性重复任务的理想选择。对于您的应用程序类型,似乎 Schedule::At 如果您更喜欢更通用的“消息队列”,可能更合适

    另请参见旧的stackoverflow线程 here