问题标签 [anyevent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
134 浏览

perl - AnyEvent 是否适用于 perl 5.26?

我遇到了以下错误::

Can't use an undefined value as a subroutine reference at /home/basiliscos/perl5/perlbrew/perls/perl-5.26.0/lib/site_perl/5.26.0/x86_64-linux/AnyEvent/Loop.pm line 248

当我在 perl 5.26.0 下运行我的程序时,同时在 5.20.3 下它运行良好。

我应该在哪里挖掘的任何想法?

0 投票
1 回答
281 浏览

perl - Perl 中设置计时器以停止长时间运行的进程的最佳方法是什么?

我有一个调用可能长时间运行的进程的应用程序。我希望我的程序,这个过程的调用者,在任何给定点取消它,并在超过时间限制时继续下一个条目。使用 Perl 的 AnyEvent 模块,我尝试了这样的事情:

问题是长时间运行的进程永远不会超时并被取消,它们只是继续运行。所以我的问题是“我如何使用 AnyEvent(和/或相关模块)来超时一个长期运行的任务?”

0 投票
0 回答
366 浏览

perl - 无法在 macOS High Sierra 上使用 Cpan 安装 AnyEvent::DBI

在 macOS High Sierra 10.13.3 上安装适用于 perl v5.18.2 的 AnyEvent::DBI 时出现问题据我所知,未安装 AnyEvent::Fork 依赖模块,这是来自 CPAN 的信息

上个版本的 macOS 上最有趣的我安装了这个模块。

0 投票
0 回答
225 浏览

perl - 使用带有自定义函数的 AnyEvent (Any) 模块进行并行处理

我正在尝试使用AnyEvent模块来并行获取多个网页的一些信息。

示例:使用 AnyEvent 并行获取多个网页

这工作正常,但现在我想运行一些自定义子程序而不是使用AnyEvent::HTTP http_get

自定义子程序:

问题: 如何修改此自定义 http_get 以与AnyEvent一起使用?

我的主要要求是我想在 for 循环中调用一些方法,并希望通过使用任何兼容 perl 版本 5.8.8 的模块异步调用它来更改现有行为:

Perl 版本信息:

0 投票
1 回答
680 浏览

perl - 监视和读取文件中的新行?

该程序使用 AnyEvent 事件循环。程序应该读取有时(很少)出现在本地文件系统的文本文件中的新行。据我了解, AnyEvent::io 不能使用。我有什么建议从文件中读取新行?

0 投票
0 回答
141 浏览

perl - 向 https 站点请求代理时出现 Perl 错误。任何事件状态 596

通过支持 https 到 https 站点的代理请求时。错误'原因' => 'ssl23_get_server_hello come: unknown protocol', 'Status' => 596,

我使用 AnyEvent 库,我怀疑连接请求的问题,但我根本无法解决,我将非常感谢提示。

怀疑tcp_connect方法也是需要的,但是不明白怎么配置。

所以代理适用于LWP

不幸的是,我不能写一个完整的代理,因为它是付费的。但如果没有他绝对什么都没有,那么我可以写作。

0 投票
0 回答
50 浏览

perl - 如何使用 AnyEvent::Subprocess 使外部命令的输出自动刷新?

我正在尝试使用以下命令监视外部命令的输出AnyEvent::Subprocess

一般来说,我无法访问外部脚本的源代码,因此我无法将类似的命令插入STDOUT->autoflush(1)到脚本中(如果脚本恰好是 Perl 脚本)。

这是我用于测试的测试脚本:

myscript.pl

完成后输出立即全部出现myscript.pl。我想在myscript.pl可用时打印每一行。如何在不修改的情况下做到这一点myscript.pl

0 投票
1 回答
353 浏览

perl - 避免 Mojolicious 异步行为?避免“AnyEvent::CondVar:递归阻塞等待尝试”

我们已经有一个使用 AnyEvent 的库。它在内部使用 AnyEvent 并最终返回一个值(同步- 而不是回调)。有什么办法可以将这个库与 Mojolicious 一起使用吗?

它做了类似的事情:

当我同时运行morbo app.pl并尝试get '/'从两个浏览器选项卡中运行时,我收到此错误:

我认为正在发生的事情是 morbo 在内部使用 EV ,因此当它调度处理 firstget '/'时,$cv->recv最终被调用,返回到 EV 事件循环。EV 现在尝试处理第二个get '/'$cv->resv再次被调用,从而触发错误。

我知道我可以重构$cvout ofgetData()以制作异步版本,但实际上真正的“getData”在许多地方被调用,并且将所有对“getData”的调用转换为异步代码是不可行的。

所以我的问题是:有什么方法可以getData()在使用morbo/Mojolicious 时可靠地调用上面的内容?我想get '/'阻止,直到它完成。

编辑: AnyEvent 的在模块中做什么部分明确地说:

永远不要在条件变量上调用 ->recv,除非你知道已经调用了 ->send 方法。这是因为它会停止整个程序,而使用事件的全部意义在于保持交互。

getData()以上违反了这一点。现在我明白了 AnyEvent 文档那部分的原因:-)

0 投票
1 回答
202 浏览

multithreading - Perl:带有 Coro 和 AnyEvent 的多线程服务器

我是 Perl 的新手,所以出于教育目的,我正在使用 AnyEvent 和 Coro 开发多线程服务器。客户端向服务器发送目录路径列表和服务器响应以及这些目录的列表。

我正在使用 tcp_server 和 AnyEvent::Handle 进行连接处理,并且对于每个客户端,我希望服务器检查线程池(实际上是 coros 池)以获取免费的 coro 来处理请求。处理请求完成后,我希望 coro 等待另一个客户端而不是完成。

但是,似乎在 handle_request 子结束时, coro 被销毁并且不再可用。

我已经尝试在handle_request 中使用无限循环,但是这样一切都停止了工作。你有什么想法可以解决这个问题吗?我想使用 Coro::AnyEvent 将协程集成到事件循环中可能是解决方案。对我的情况有帮助吗?

谢谢你的帮助。

0 投票
0 回答
107 浏览

perl - AnyEvent::WebSocket::Client 完成回调未调用

我在使用AnyEvent::WebSocket::Client. 发送/接收系统运行良好,但我想使用on finish回调来处理连接关闭,但它从未被调用。

我希望客户端在连接终止时尝试重新连接,但是当我关闭我的 websocket 服务器时永远on finish不会调用回调。

任何帮助都会很棒!