问题标签 [dancer]

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 回答
209 浏览

html - 如何保持来自 Dancer Route 的 HTTP 连接

我在一个项目中使用 Perl Dancer,我想实现 SSE http://www.html5rocks.com/en/tutorials/eventsource/basics/#toc-introduction-differences

我有一条舞者路线,我正在努力保持活力

似乎从舞者路线返回任何东西都会关闭连接。理想情况下,我想保持打开状态并存储$response以将更多数据推送到以后。

更新:在进一步的研究中,舞者使用的 PSGI 应该可以做到这一点: http ://search.cpan.org/~miyagawa/PSGI-1.03/PSGI.pod#Delayed_Reponse_and_Streaming_Body 目前正在研究 一种中间件方法。

0 投票
1 回答
358 浏览

perl - 在 Perl Web 应用程序中,“我们的”变量在不同的 Web 请求-响应中共享?

我正在用 Perl 编写一个 Web 应用程序Dancer。假设我在 中声明了一个变量our,并将 的内容分配给它:$varA.pmfile1

我声明varour因为我想稍后在另一个文件中使用它B.pm

所以,get_file_content执行之后,$var应该是file1的内容。在display_file_content执行之前,我更改了file1的内容,并单击了一些按钮来执行display_file_content。正如假设的那样,显示了 file1 的原始内容。

然后我做了和上面一样的事情,只是改变了file1的内容后,我没有点击display_file_content按钮。相反,我在另一个 Web 浏览器中对同一页面启动另一个 Web 请求。我get_file_content是先执行的,直接点击按钮即可通过display_file_content。file1 的修改内容显示在第二个 Web 浏览器中。这个是正常的。但是,当我在第一个网络浏览器中单击显示按钮时,它也显示了修改后的内容,而不是原来的内容。与在另一个 Web 浏览器中没有第二个 Web 请求的第一个实验相比,该变量似乎$var在 Web 请求 - 响应过程中是共享的。但为什么会这样?你能给出一些解释吗?

0 投票
1 回答
143 浏览

perl - perl dancer - “任何”方法 - 调用哪个实际方法?

使用 Perl 的 Dancer 模块,如果您有一个“任何”方法(将匹配 get/post/put/delete),您如何确定浏览器使用的实际方法?

0 投票
2 回答
575 浏览

perl - perl dancer - 如何将附加参数传递给方法处理程序子例程?

有没有办法将附加变量传递给方法处理程序子例程?我通常不喜欢在子例程范围之外使用全局变量。我有诸如数据库连接和类实例之类的东西,我希望处理程序可以访问它们,而无需使用全局变量。使用调试到控制台,看起来 @_ 对于每个处理程序调用都是空的。

0 投票
1 回答
292 浏览

linux - 阅读 GET 请求时 Dancer 随机挂起

我在 Linux 上玩 perl dancer,如果浏览器直接通过 LAN 连接到服务器,一切都很好。但是,当我通过 WAN 连接并且浏览器是 IE9 时,偶尔繁忙的光标不会消失。

我可以通过连续重新加载页面 apx 10 次来引发这一点。即使我在每次重新加载之间等待几秒钟,我也会遇到这个问题。页面本身非常简单,并且通过了 w3c 检查。

如果我以 root 身份运行 dancer,或者端口是 80 还是 3000,都没有区别。 A 还测试了使用 apache 频繁重新加载页面,似乎没有问题。

我运行了 strace,我的印象是,请求数据有时在 dancer 尝试读取它时不可用。这就是跟踪的样子

当它工作时:

当它挂起

然后它永远存在。知道我能做什么吗?

0 投票
1 回答
1724 浏览

perl - Perl - 模板工具包 - 如何获取模板中的变量列表?

我正在使用 PerlDancerTemplate::Toolkit

我正在尝试创建一个通用例程,该例程将传递一个模板和 HTTP GET/POST 参数。

我需要找到一种方法来获取模板中的变量列表,以便我可以从参数中检索它们,或者如果缺少一个或多个,则返回错误。

我可以走一条丑陋的正则表达式路线,但我希望有一种更好/更清洁的方式。

所有的模板都是 XML/SOAP,到处都有一些变量。

有任何想法吗?

0 投票
1 回答
386 浏览

multithreading - 与 dancer 同时服务多个用户的方法

出于某种原因,我找不到下面问题的答案,可能是因为它太明显了。

在我对 perl dancer 的实验中,我添加了一个路由,它只休眠 10 秒,然后返回一些东西。我这样做是为了模拟长时间运行的操作。我注意到,在这 10 秒内,舞者不会提供任何其他请求。我知道这是因为 dancer 是单线程的。

现在这种单线程方法显然不适用于要求不高的应用程序。所以我相信一定有很多既定的解决方案。但我似乎不知道谷歌搜索的正确搜索字符串。

为了清楚起见:我不介意,当初始化长时间运行的操作本身的请求被阻塞时。我想要的是所有其他请求都得到满足。

任何人都可以请教我

  • 网络服务器传统上如何处理长时间运行的操作,而不阻塞其他请求?
  • 每个会话是否会有线程/进程,或者线程/进程是否可以按需生成,在我知道操作需要很长时间的情况下
  • 多线程时如何保留会话信息,即当浏览器不总是与同一个进程通信时?
  • 关于舞者的任何具体建议(随时推荐舞者的替代品)
0 投票
3 回答
382 浏览

perl - How to serve robots.txt with Perl Dancer

I am trying to serve a robots.txt using the Perl Dancer web framework. I thought having a route that just returned the text would work, but it seems to be wrapping it in html and body tags. I'm assuming this won't be interpreted properly as a robots.txt file by crawlers.

Any idea how to do this properly?

Here is how I have the route written:

get '/robots.txt' => sub { return "User-agent: *\nDisallow: /"; };

Thanks in advance!

0 投票
2 回答
1009 浏览

perl - Dancer:同时处理多个请求

这是我的情况:我正在使用 Dancer 框架开发一个 Web 应用程序,我想从浏览器端向服务器端的数据库中插入一些数据。问题是,当数据太大时,上传需要很长时间,我正在考虑显示一个描述进度的进度条。

我通过发送两个请求来实现这一点:一个用于发布数据,另一个用于轮询状态。但似乎一旦处理了第一个请求,另一个请求将在第一个请求完成之前无法工作。所以状态没有返回任何东西,突然 100%。为了解决这个问题,我在处理第一个请求时创建了一个线程,因此主线程可以返回来处理第二个轮询请求。这工作得很好,直到我不得不杀死在子线程中产生的一些子进程(这是另一个问题)。

所以我的问题是,除了多线程之外,还有其他关于同时处理多个请求的想法吗?通常网络程序员如何处理这种情况?

0 投票
1 回答
483 浏览

dancer - Dancer 应用程序如何处理 HUP 信号以关闭/重新打开日志文件

我用日志配置写了一个 Dancer 应用程序:

并开始:

plackup -E 部署 -D -s Starman --workers=10 --port 8080 -a bin/app.pl

使用 logrotate 旋转日志文件

但新的日志文件为零。

我尝试在 logrotate conf 中添加 postrotate 以发送HUPbin/app.pl使用

Dancer::Logger::File::init;

但没有任何帮助。

谁能告诉我如何旋转舞者的日志文件?