我正在使用supervisord 的 [program:x]来保持我的后台队列运行器正常运行。numprocs 的数量设置为静态数字,但现在我正在寻找一种解决方案,根据队列的工作负载动态调整进程计数。
是否可以(以编程方式)更改 supervisord 的 numprocs 设置的数量而不影响已经运行的工人?
我现在使用 FreeBSD 并使用 pf+ALTQ。
有些东西不起作用,我需要一个工具来查看哪些请求被标记并移动到队列“queue_name”
需要类似 pftop 但显示队列的东西。任何人都可以帮忙吗?
我已经按照 ZeroMQ 网站在 shell 命令下运行来安装 PHP-ZMQ:
sudo pear channel-discover pear.zero.mq
sudo pecl install pear.zero.mq/zmq-beta
Run Code Online (Sandbox Code Playgroud)
以下是安装痕迹:
downloading zmq-1.0.6.tgz ...
Starting to download zmq-1.0.6.tgz (23,880 bytes)
........done: 23,880 bytes
10 source files, building
running: phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
building in /var/tmp/pear-build-rootwCcLwT/zmq-1.0.6
running: /var/tmp/zmq/configure
checking for egrep... grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking for C compiler default output file …Run Code Online (Sandbox Code Playgroud) 我设置了一个 SQS 队列,其中包含多个配置为触发器的 Lambda。虽然 AWS 的 API 允许这样做,但尚不清楚预期的行为是什么。
例如,是否将一条消息从队列中拉出并发送到每个 Lambda?还是每个 Lambda 都充当轮询服务,分别从队列中提取消息?
从我的测试来看,它似乎是后者,但我一生都无法在任何地方找到这种记录。考虑到 AWS Lambda 的并发功能,后者对我来说也没有多大意义。
我有一个电子邮件服务器,它是消息传递应用程序的一部分,它会看到很多吞吐量。我想在 RAMdisk 上挂载 Exim 的消息队列以最大化性能;吞吐速度是最重要的,而不是在崩溃或系统重启的情况下团结一致。我发现很多信息都说在 RAMdisk 上安装消息队列会有很大帮助,但没有关于如何执行此操作的真实信息。
我很确定消息队列默认在 /var/spool/exim 中,并且我可以使用 tmpfs 来挂载 RAMdisk。我将如何在启动时安装 RAMdisk,并让 Exim 的消息队列使用它?
即挂载这个 RAMdisk 的命令是什么,我应该把这个命令放在哪里,以便它在机器启动时(但在 Exim 启动之前)执行?
谢谢 :)
我有一个缓慢的远程邮件中继服务器和一个 Web 应用程序,我在向该远程邮件服务器发送电子邮件时会锁定,直到发送电子邮件。发送电子邮件后,页面返回,应用程序再次启动。
所以我试图在应用程序服务器 (Linux) 上本地设置一个不同的邮件队列,以便应用程序使用它而不是远程邮件服务器。我的理由是电子邮件会在本地排队,直到它们被远程邮件服务器处理,但至少应用程序不会锁定。
我已经安装postfix并设置了远程邮件服务器的中继主机设置,但性能没有提高。似乎发生的事情是 postfix 只是实时转发我的 SMTP 指令,并没有真正将它们排队?
我能做什么?
我与 HAL 共享一个服务器。服务器有 32 GB 内存。
我很少使用超过 1 GB 的内存,当我使用时,每次使用几分钟,而且我不介意将此类作业发送到后面。
HAL 读/写大文件(例如使用 gunzip)。这可能会间歇性地占用多达 100% 的内存CPU 数小时。这通常是在一夜之间完成的,但在运行时,即使是简单的命令,例如cdtake 30s,打开emacs也可能需要几分钟。
我希望能够保留 1 GB 供使用 << 1GB 的进程使用(如文本编辑器)。我也想远离 HAL,并且没有理由认为这应该是一个问题。
HAL 说排队系统(如 PBS)不能用于将读/写的优先级设置为低,例如,在大型作业运行时始终保留 1 GB 内存可用。用他的话来说:
用于 gunzip 的脚本会阻塞所有处理器,因为数据很大......排队无法解决这个问题......在从(该服务器)到(该服务器)的文件传输期间,膨胀步骤会进行大量读取/写
为什么排队不能解决这个问题?什么可以?
我们让 exim 以仅队列的方式运行。原因是我们是一个批量发件人(合法的双重选择加入)并且经历过 Yahoo 和 Hotmail 限制。最佳实践指出,一旦他们通知您限制(例如 Yahoos TS-01 或 TS-02 错误),您应该停止发送 4 小时。如果 exim 处于传统设置中,则不会发生这种情况,发送到 exim 的每条消息都会尝试立即发送。当它失败时,它会等待 4 个小时,但这并不能阻止它后面的 500 封电子邮件被尝试发送到同一主机。
无论如何,我的问题是:我们如何强制立即强制发送到 mydomain.com 和 hisdomain.com 的电子邮件。我在想一些 exim 命令,我们可以每 5-10 分钟通过 cron 运行一次。在我们发送大量调度之前,我们总是向这 2-3 个域发送测试,但现在我们要等待 30 分钟以上才能检查交付(因为它正在排队)。
我知道你可以强制发送消息,但这需要它的 messageID,所以我想我需要结合一个命令来获取这些域的 IDS 和一个强制它们的命令......我只是不知道该怎么做这个。
我有一台服务器,我想专门用于通过 LibreOffice将doc文件转换为该服务器pdf。服务器有 6 个内核,LibreOffice 是单线程的。这意味着生成单个 pdf 使用了我总 CPU 功率的 16.666%。转换文件可以从控制台完成并且是一个阻塞任务,即它等待直到完成将控制返回到控制台。
我可以启动 6 个无头办公实例(在 6 个不同的端口上),并通过一些自定义代码确保每个工作请求都发送到不同的实例。我必须检查所有 6 个实例何时都忙于工作,以便将工作保留在待处理的队列缓冲区中。我还必须管理超时/错误以重新启动特定实例并尝试重做导致问题的特定工作,可能再尝试 1-2 次,直到我放弃。
上述场景不会为单个文档使用 100% 的 cpu,但它允许一次转换多达 6 个文档,而不是一个接一个地处理它们,功率仅为 16.6%。
我的问题是:是否存在管理此类场景的产品/工具?可能是可以协调此类任务的通用东西(当然不知道有关 LibreOffice 的任何细节)。
我在几台服务器上有一些监控脚本,用于检查不太重要的内容(但我确实希望收到电子邮件警报)。
我使用 Postfix 和我的 SMTP-to-SMS 电子邮件地址,以便我可以在我的手机上接收这些通知。我的问题是:我不想在黎明时睡觉时收到这些警报:(
我知道我可以修改我的脚本来完成这个,但我决定最好的方法是改变 postfix(因为它没有被用于其他任何东西)。我怎样才能让 postfix“搁置”所有新的“传入”消息,比如说从晚上 11 点到早上 6 点?然后在早上 6 点刷新该队列?
谢谢,JFA
可能的重复:
当后缀队列为空时断开调制解调器
此脚本代码检查后缀邮件队列是否为空,如果为真,它将断开我的调制解调器。
#!/bin/sh
postqueue -p|grep empty
if [ $? -eq 0 ]; then
killall wvdial
fi
Run Code Online (Sandbox Code Playgroud)
我需要根据需要多次运行它,直到邮件队列变空。
我怎样才能循环它?
也许放置一个else返回以从postqueue -p|grep empty行开始执行脚本?
我知道它可以很简单,但我在 bash 脚本方面不是很擅长,所以我需要帮助来完成这段代码。