问题标签 [hypnotoad]

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

perl - 为什么 Hypnotoad 的热部署会重新运行旧的 http 请求?

简而言之:
当我对 Hypnotoad 进行热部署时,有时新服务器会立即处理大量已由先前服务器处理的 HTTP 请求。

如果已呈现响应但线程仍在执行某些处理,Mojo/Hypnotoad 是否会保留请求直到处理停止?我是否需要告诉服务器 HTTP 请求已解决?

长版:
我有一个 Mojolicious::Lite 应用程序在 Hypnotoad 下运行。该应用程序的功能是接受来自另一个服务的 HTTP 请求。

我们正在处理通过一系列状态进行的作业。在每次作业状态更改时,都会通过 HTTP 请求通知应用程序。这是一个忙碌的小脚本——每小时接收超过 1000 个请求。

脚本的工作是操作一些数据.. 进行数据库更新、编辑文件、发送邮件。

为了保持进展,当它收到 HTTP 请求时,它会检查收到的数据。如果数据看起来不错,它会立即向调用者发送 200 响应,然后继续执行更耗时的任务。(我猜这是根本原因)

当我进行热部署时——通过重新运行启动脚本(运行'localperl/bin/hypnotoad $RELDIR/etc/bki/bki.pl')——一些已经处理的请求被发送到新服务器并重新处理。

为什么这些旧交易仍然被原始服务器持有?许多早已完成!是否需要告诉 Mojolicious 请求在它发出并弄乱数据之前完成?(我考虑过 $c->finish() 但这仅适用于套接字?) Hypnotoad 如何决定应该将哪些请求传递给它的替换服务器?

这是我正在做的一些伪代码:

0 投票
1 回答
43 浏览

mojolicious - 如何使用 Hypnotoad 引用 LD_LIBRARY_PATH?

我有一个访问 Net::LDAP 的 Mojolicious 应用程序。应用程序找不到 libssl.so。

如何将 LD_LIBRARY_PATH 添加到 Hypnotoad?我用 Apache 这样做是为了解决类似的问题,但找不到如何为 Hypnotoad 服务器做这件事。

谢谢!

0 投票
0 回答
90 浏览

perl - Mojolicious:长子程序对我的变量没有影响

我在使用 hypnotoad 的子程序很长时遇到了一些麻烦。我需要运行 1 分钟的子程序(硬件连接要求)。

首先,我发现这种行为:

日志:

3 个问题:
1)这 42 秒是从哪里来的?(是的,我知道,42 秒是宇宙的答案……)
2) 为什么 IOLoop 复发会失去节奏?
3) 为什么我的变量设置为 1,而仅仅一秒钟后,if 得到一个等于 0 的变量?

当循环作业需要 20 秒或 25 秒时,没问题。
当循环作业需要 60 秒并与 morbo 一起使用时,没问题。
当循环作业需要超过 40 秒并与 hypnotoad(1 个工作人员)一起使用时,这是此处解释的行为。

如果我增加“不需要”的时间(例如 60 秒作业的 120 秒 IOLoop,行为总是相同的。

IOLoop 不是问题,我可以在循环外重现相同的行为。
我怀疑工人被杀和心跳有问题,但我没有这方面的日志。

0 投票
2 回答
535 浏览

perl - Mojolicious - minion worker 不会自动启动

我正在使用Mojolicious完整应用程序并加载Minion(后端 sqlite)。我的问题是为什么当我用hypnotoad启动 mojolicious 应用程序时,minion worker 不会自行启动。根据Minion文档,它应该:

后台工作进程通常使用命令 Minion::Command::minion::worker 启动,当应用程序加载 Mojolicious::Plugin::Minion 时该命令会自动可用。

环境:

  • 红帽企业 Linux 服务器 - 7.5 (迈坡)
  • Perl v5.16.3
  • Mojolicious 8.0(超级恶棍)
  • 小黄人 9.01

Mojolicious 完整的应用程序

这就是我启动服务器的方式:

/usr/local/bin/hypnotoad /var/www/apps/script/apps

目前,我在后台启动奴才工人(它也会在一段时间后被杀死,很明显),如下所示:

/var/www/apps/script/apps minion worker -m production

谢谢你。

0 投票
1 回答
443 浏览

perl - Mojolicious(hypnotoad) - 强制执行 TLS v1.2

如何强制 Mojolicious(催眠蟾蜍)应用程序使用 TLS v1.2?

mojo version输出:

催眠蟾蜍配置:

这就是我开始催眠蟾蜍的方式:

我已经IO::Socket::SSL按照某处的建议更新了模块。它不起作用。

非常感谢任何指导。

0 投票
1 回答
19 浏览

nginx - Nginx 无法从 Mojolicous 渲染静态文件

使用 morbo,为所有页面呈现静态文件。然而,使用 Nginx 作为代理的 hypnotoad 服务器会加载页面,但不会呈现其中的静态文件——即使是 favicon,但在同一个应用程序中调用静态 html 页面时,图像和 favicon 都会出现。可能缺少什么?