在Perl中有一种简单的异步方法吗?我对Apache应用程序有以下逻辑:
get request
process request
write to log
return
Run Code Online (Sandbox Code Playgroud)
我想要做的是让"写入日志"部分是异步的,这样我就可以尽快做"返回"部分.
不幸的是,这通常需要POE框架,但是还有一种不断增长的替代方案(我想首先尝试),称为AnyEvent.
有关学习POE的更多信息,请参阅此问题以获取学习资料.POE是一个框架,它往往会吃掉你的整个应用程序.它也看起来不像Perl,并且坚持下去.我相信这对于您的典型应用来说是一个很大的学习曲线.
AnyEvent是基于异步任务的简单延续,你应该能够用CPAN文档很好地理解它.
对于您的具体问题,您将使用AnyEvent的AIO或POE的读写轮
你真的需要在返回之前写日志吗?
假设这是Apache mod_perl,它支持在返回响应后为子进程触发的清理处理程序.
看起来你真正想要的是日志记录不要停止返回,清理处理程序似乎会在不需要异步的情况下这样做.
| 归档时间: |
|
| 查看次数: |
3202 次 |
| 最近记录: |