问题标签 [pool]
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.
data-structures - 哪些数据结构可用于实现整数池?
这些整数可以是 IP 地址 (DHCP) 或会话 ID 或隧道 ID(例如在 L2TP 中)。每个整数都可以是免费的或使用的。我们需要它有效地找到免费的。
还定义了最小值和最大值。
python - Python & Redis:Manager/Worker 应用程序最佳实践
我有一些关于使用 Python 和 Redis 创建作业队列应用程序以运行异步命令的一般性问题。这是我到目前为止生成的代码:
首先,我是否认为如果我需要与经理进行任何沟通,我想通过回调来做到这一点?我在此使用中看到的快速示例将异步调用存储在结果中并通过 result.get(timeout=1) 访问它。通过交流,我的意思是把东西放回redis列表。
编辑:如果命令以异步方式运行并且我在 main 内的结果超时,那是工人超时还是只是管理器内的操作超时?如果只有经理我不能用它来检查工人的退出代码吗?
接下来,此代码产生以下输出:
为什么即使我一次弹出一个命令,工作人员也想一次使用多个命令?在类似的情况下,这并不总是很好地结束,有时需要 ctrl+c。为了对付他,我清理了队列,然后再去。我认为这与 apply_sync() 以及是否退出循环有关。我想知道是否需要在工人方面发生更多事情?
如果我将 ifs 更改为注释掉的 ifs,我会得到:
这似乎是检查是否需要中断的更好方法,但似乎函数有时会返回字符串文字?
任何有关改进这一点的建议将不胜感激。我只是想创建一个类似于 linux 机器上的服务/守护进程的管理器。它将用于从 redis 列表中获取作业(当前是命令,但可能更多)并将结果返回到 redis 列表中。然后,GUI 将与此管理器交互以获取队列状态并返回结果。
谢谢,
编辑:
我意识到我有点傻。我不需要从工作人员访问 redis 服务器,这会导致一些错误(特别是 ValueError)。
为了解决这个问题,现在的循环是:
在这些行之后,我调用pool.close()
. 我用os.getpid()
andos.getppid()
来检查我确实有多个孩子跑来跑去。
如果这听起来像是创建使用 redis 的经理/工作人员应用程序的好方法,我仍然会很高兴听到。
database - 春天+休眠+春天
我有一个 Spring 和 Hibernate 项目,但是它使用了很多连接到我的数据库(MYSQL)。我知道我应该实现一个 C3P0 来管理池连接,但我不知道如何?请帮帮我。
Hibernate 的配置:
我必须在哪里添加 C3P0 配置?
python - 守护进程内的Python多处理池
我为这个问题提出了一个问题,但没有得到足够彻底的答案来解决这个问题(很可能是由于在解释我的问题时缺乏严谨性,这是我试图纠正的问题):python multiprocessing daemon 中的僵尸进程
我正在尝试实现一个 python 守护程序,它使用一个工作池来使用Popen
. 我从http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/借用了基本的守护进程
我只更改了init
, daemonize
(或同样的start
)和stop
方法。以下是该init
方法的更改:
我没有设置标准输入、标准输出和标准错误,以便我可以使用打印语句调试代码。另外,我尝试将这个池移动到几个地方,但这是唯一不会产生异常的地方。
以下是该daemonize
方法的更改:
同样的事情,我没有重定向 io 以便我可以调试。使用此处的打印,以便我可以检查池的位置。
并且stop
方法发生了变化:
这里的想法是,我不仅需要终止进程,还需要清理池。这self.pool = None
只是解决无效问题的随机尝试。起初我认为这是僵尸孩子的问题,当我self.pool.close()
在self.pool.join()
带有os.kill(pid, SIGTERM)
. 这是在我决定开始通过print self.pool
. 这样做之后,我相信当守护进程启动和停止时池是不一样的。这是一些输出:
物体的不同位置向我表明它们不是同一个池,其中一个可能是僵尸?
之后CTRL+C
,这是我从中得到的ps aux|grep jobQueue
:
我曾尝试将其移动self.pool = Pool(processes=4)
到许多不同的地方。如果它被移动到start()' or
daemonize()methods,
打印 self.pool` 将抛出一个异常,说它是 NoneType。另外,位置似乎改变了会弹出的僵尸进程的数量。
目前,我还没有添加通过工人运行任何东西的功能。我的问题似乎与正确设置工人池完全相关。我将不胜感激任何导致解决此问题的信息或有关创建使用工作人员池执行一系列命令的守护程序服务的建议Popen
。由于我还没有走那么远,我不知道我将面临哪些挑战。我在想我可能只需要编写自己的池,但如果有一个很好的技巧可以让池在这里工作,那就太棒了。
java - C3P0 创建太多线程和定时器
我有一个在 Tomcat 上运行的 Java webapp,带有 Hibernate 和 C3P0。所有实体类和 JPA 控制器都是使用 Netbeans 向导完成的。有一个 servlet 在调用时会在数据库中插入许多对象(使用 JPA 控制器)。
问题是用 Java VisualVM 查看我的 webapp 我发现有很多 Timers 和 com.mchange.v2.async.ThreadPoolAsynchronousRunner 类,并且随着时间的推移而增长。对于每个 Timer,都会创建 3 个线程。
所有线程和定时器都处于 WAIT 状态,我认为这个问题可能是应用程序出现 OutOfMemory 错误(Java Heap Space)的原因。产生。即使我在 MySQL Administrator 上看到当 servlet 结束任务时所有连接都已关闭,但可能某些对象仍在内存中。
C3P0 创建的 700 多个 Timeras 和 2100 个线程处于“WAIT”状态是否正常?
谢谢
以西结
java - Java - 你如何找出哪个类文件有一个损坏的常量池?
是否有某种工具或更好的输出javac
来确定哪个类文件具有损坏的常量池。由于某些预编译文件的常量池损坏,我无法编译一些现有的 java 文件。
这是一个损坏的常量池堆栈打印出来的样子
python - 在 python 中使用 map.pool 的原因是什么?
我有一个正在运行的命令行程序,并将文本作为参数输入:
somecommand.exe < someparameters_tin.txt
它运行一段时间(通常是一个小时到几个小时的一小部分),然后将结果写入许多文本文件。我正在尝试编写一个脚本来同时启动其中的几个,使用多核机器上的所有内核。在其他操作系统上我会分叉,但这并没有在 Windows 的许多脚本语言中实现。Python 的多处理看起来可以解决问题,所以我想我会尝试一下,尽管我根本不知道 python。我希望有人能告诉我我做错了什么。
我编写了一个脚本(如下),我指向一个目录,如果找到可执行文件和输入文件,然后使用 pool.map 和一个 n 池启动它们,以及一个使用调用的函数。我看到的是,最初(启动第一组 n 个进程)看起来不错,100% 使用 n 个内核。但随后我看到进程处于空闲状态,不使用或仅使用百分之几的 CPU。那里总是有 n 个进程,但它们做的并不多。当他们去写入输出数据文件时似乎会发生这种情况,一旦开始,一切都会陷入困境,整体核心利用率范围从百分之几到偶尔达到 50-60% 的峰值,但从未接近 100%。
如果我可以附上它(编辑:我不能,至少现在不能)这里是进程的运行时间图。较低的曲线是当我打开 n 个命令提示符并手动保持 n 个进程一次运行时,轻松地将计算机保持在 100% 附近。(这条线是规则的,在 32 个不同的进程中从接近 0 小时慢慢增加到 0.7 小时,改变一个参数。)上面的线是这个脚本的某个版本的结果——运行时间平均增加了大约 0.2 小时,并且是更不可预测,就像我采取了底线并添加了 0.2 + 一个随机数。
这是该图的链接: 运行时图
编辑:现在我想我可以添加情节了。
我究竟做错了什么?
sharepoint - SharePoint 应用程序池重新启动 - 效果?
我们有 SharePoint 2007,运行 II6...
目前,我们遇到了一个麻烦的 Web 部件问题,开发人员正在对其进行调查。
基本上它经常崩溃,并且主 SharePoint 站点的应用程序池重新启动解决了这个问题(直到它再次中断)。
当我们重新启动应用程序池时,它会使 SharePoint 停机 30 秒左右,但我不知道的是......
- 回收应用程序池对使用 SharePoint 的用户有什么影响?任何(超过 30 秒不可用)
- 回收应用程序池经常会导致任何问题吗?
- 我猜它不推荐?
我知道我们应该将 webpart 完全取出,直到它修复为止,但不幸的是,它不可行,该公司表示它会保留。
任何信息都会很棒,
谢谢
python - Python 进程池非守护进程?
是否可以创建一个非守护进程的 python 池?我希望一个池能够调用一个内部有另一个池的函数。
我想要这个,因为守护进程无法创建进程。具体来说,它会导致错误:
例如,考虑function_a
有一个运行的池和运行的池function_b
的场景function_c
。这个函数链会失败,因为function_b
正在一个守护进程中运行,而守护进程无法创建进程。