问题标签 [starman]
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.
dancer - Dancer 应用程序如何处理 HUP 信号以关闭/重新打开日志文件
我用日志配置写了一个 Dancer 应用程序:
并开始:
plackup -E 部署 -D -s Starman --workers=10 --port 8080 -a bin/app.pl
使用 logrotate 旋转日志文件
但新的日志文件为零。
我尝试在 logrotate conf 中添加 postrotate 以发送HUP并bin/app.pl
使用
Dancer::Logger::File::init;
但没有任何帮助。
谁能告诉我如何旋转舞者的日志文件?
perl - 你如何停止 perl Dancer/Starman/Plack 服务器?
我使用以下方法启动了 Dancer/Starman 服务器:
但我不确定如何停止服务器。有人可以为我提供一种快速的方法来阻止它以及它产生的所有工人吗?
perl - 有没有办法在 Dancer 和 Starman 中使用包/全局变量?
当与 Starman 一起运行时,我无法找到在 Dancer 应用程序中使用包变量(或任何类型的变量)的方法。我想它在某种程度上与 Starman 的预分叉有关,但这应该是一个特性,而不是一个错误。
以下是 Dancer 应用程序示例:
然后我连续 3 次调用该应用程序。首先,我使用 plack 参考服务器运行它,一切都按预期工作:
但是当我对 Starman 做同样的事情时,我得到以下结果。
但是,当快速刷新页面时,有时值会按预期递增。我想,在这些情况下,Starman 仍然处于同一个分支中。
我很惊讶以前从未在 stackoverflow 上问过这个问题。持久变量对我来说似乎很有用,没有它们人们怎么跳舞?
提前感谢您的帮助。
python - Perl 主管 plackup starman perlbrew
我想知道是否有像 supervisord 这样的 Perl 工具来管理进程。
我见过一个叫做Supervisor的Perl程序,但我不知道它是否和Python一样好:
https://metacpan.org/pod/Supervisor
我希望能够启动一个 plack 服务器并在必要时拥有一个重新启动它的监视器。
我使用 perlbrew,我想制作一个 shell 脚本来启动服务器,然后进行如下配置:
你是否在 plack、starman 和 perlbrew 的 Perl 项目中使用了 Supervisord。你有什么建议?
我的问题是开放的,以了解在生产中什么对我的 plack 服务器最有利。
谢谢
python - 主管和 perlbrew
我尝试将主管与 perlbrew 一起使用,但我无法使其工作。对于 perlbrew 我只是尝试设置运行良好的环境变量,但也许最好制作一个启动 perlbrew 和 plackup 的脚本,这是我的配置文件:
在日志中,我看到它没有找到正确的位置:
我没有看到问题,也许perlbrew使用做了其他事情
perl - Starman 用 Dancer REST api 吃掉所有的内存
我用 perl 框架 Dancer 开发了一个 RESTful 应用程序。此应用程序需要近 1 GB 的内存,加载需要 30 秒。./bin/app.pl
此应用程序在单个用户的本地测试中运行良好,然后我尝试使用 Starman(单独或使用 plackup,有和没有保持活动)以几种不同的方式部署以供多租户使用:
部署成功,但 Starman 为每个查询分配了一些内存,不再释放,因此应用程序很快就会耗尽内存。
我阅读了 Starman、PSGI 和 Dancer 部署的所有文档,包括对NGINX/Starman/Dancer的非常好的解释以及Starman 和内存的类似错误,但它不能解决这个问题,因为我禁用了 keep-alive 和 Starman 仍然保留记忆。
知道为什么 Starman 会吃掉我的记忆吗?谢谢!
perl - 如何发现 app.psgi 进程在哪个服务器上运行?
有没有办法发现app.psgi
正在运行的服务器?
例如,我正在寻找一些关于如何解决 app.psgi 中的下一个代码片段的想法:
检查PLACK_ENV
环境变量不是解决方案...
perl - 为什么starman / plackup不推荐选项-r
我想用选项 -r 启动 starman 来升级源代码而不重新启动服务器。
我的问题是以下声明的原因是什么:“强烈不鼓励与 Starman 一起使用”。我可以在生产中使用选项 -r starmann 吗?
perl - 使用 perl Dancer/plack/Starman 和多个工作人员的会话
我正在通过 plack 使用 Starman 运行一个 perl Dancer 应用程序(希望这是正确的描述),而且大多数情况下这是一种无痛的体验。我最近才试图让会话工作(非常简单的东西 - 我只想存储几个字符串,我正在使用会话:“简单”),并且在运行多个 Starman 时遇到了非常奇怪的问题工作人员。
使用以下非常简单的代码(在底部)会产生以下结果:
独立应用程序:工作正常 - 单击它时计数器会增加。
Starman - 1 名工人:工作正常
Starman - 2+ 工人:会话似乎存在大约 1 秒,随后被销毁 - 计数器总是在非常短的时间后“过期”。它似乎不是特定于工作人员的会话,它只是重置为空。如果你每秒敲击链接不止一次,它通常会永远增加(或者只要我愿意测试它)。
我做错了什么,或者这只是行不通吗?这不是非常关键,但能够让简单的会话正常工作会很好。
谢谢,
戴夫
perl - 您如何将 Plack::Middleware::Session 与 Starman 服务器一起使用?
我有一个基于 Starman 的服务器 -
我自己的中间件“身份验证”对用户进行身份验证并返回会话信息(到期时间、会话密钥等)用于会话管理,那么我如何在会话中间件中使用这些信息?