草庐IT

worker-pool

全部标签

python - multiprocessing pool.map 按特定顺序调用函数

如何让multiprocessing.pool.map按数字顺序分配进程?更多信息:我有一个程序可以处理几千个数据文件,为每个文件绘制一个图。我正在使用multiprocessing.pool.map将每个文件分发到处理器,并且效果很好。有时这需要很长时间,在程序运行时查看输出图像会很好。如果map进程按顺序分发快照,这会容易得多;相反,对于我刚刚执行的特定运行,分析的前8个快照是:0、78、156、234、312、390、468、546。有没有办法让它按数字顺序更紧密地分布它们?示例:这是一个包含相同关键元素的示例代码,并显示相同的基本结果:importsysfrommultipro

python - gunicorn.errors.HaltServer : <HaltServer 'Worker failed to boot.' 3>

我已经在我的virtualenv中安装了gunicorn。从此目录:manage.py/onbytes/wsgi.py我运行以下命令:gunicornonbytes.wsgi:application我收到以下错误:Traceback(mostrecentcalllast):File"/home/ymorin007/.virtualenvs/onbytes.com/bin/gunicorn",line9,inload_entry_point('gunicorn==19.0.0','console_scripts','gunicorn')()File"/home/ymorin007/.vi

python - Django & Redis : How do I properly use connection pooling?

我有一个Redis服务器,我在几乎每个DjangoView上查询它以获取一些缓存数据。我已经阅读了一些stackoverflow问题,并了解到通过r=redis.StrictRedis(host='localhost',port=6379,db=0)为每个网络建立一个新的Redis连接请求不好,我应该使用连接池。这是我为Django中的连接池提出的方法:在settings.py中,我可以在任何DjangoView中轻松将其拉起,因为这就像一个全局变量:#RedisSettingsimportredisREDIS_CONN_POOL_1=redis.ConnectionPool(host

python - 如何使用 PyCharm 在本地调试 Celery worker?

这个问题在这里已经有了答案:HowdoIenableremotecelerydebugginginPyCharm?(10个回答)关闭6年前。我有一个带有virtualenv的现有Django项目。激活venv后,我可以使用命令celery运行Celery。这适用于Windows、OSX和Linux。我想在Windows上试用PyCharm,我可以让它运行我的Django服务器(使用项目的venv),但我也想运行Celery,所以我也可以调试它。我找不到设置PyCharm的简单、直接的指南,以便我可以调试Celery(以某种方式可以在任何平台上使用PyCharm)。

python - 在什么情况下我们需要使用 `multiprocessing.Pool.imap_unordered` ?

imap_unordered返回的迭代器的结果排序是任意的,而且它似乎并不比imap运行得快(我用以下代码检查),那么为什么要使用这种方法呢?frommultiprocessingimportPoolimporttimedefsquare(i):time.sleep(0.01)returni**2p=Pool(4)nums=range(50)start=time.time()print'Usingimap'foriinp.imap(square,nums):passprint'Timeelapsed:%s'%(time.time()-start)start=time.time()pri

python - 仅使用 1 个 web dyno 和 0 个 worker dyno 运行 Heroku 后台任务

我在Heroku上有一个PythonFlask应用程序,它提供网页服务,但也允许启动某些任务,我认为这些任务最好构造为后台任务。因此,我关注了Herokurqtutorial设置后台任务。我的Procfile看起来像这样:web:pythonapp.pyworker:pythonworker.py但是,我的流程目前是按比例缩放的web=1worker=0。鉴于此后台进程不会经常运行,因此为它提供整个测功机然后为那么小的东西每月支付34美元对我来说似乎是不明智的。问题:如果我保留在我的Procfile中声明的worker进程但将缩放保持在web=1worker=0,我的排队进程最终会在我

python 3 : does Pool keep the original order of data passed to map?

我编写了一个小脚本来在4个线程之间分配工作负载并测试结果是否保持有序(相对于输入的顺序):frommultiprocessingimportPoolimportnumpyasnpimporttimeimportrandomrows=16columns=1000000vals=np.arange(rows*columns,dtype=np.int32).reshape(rows,columns)defworker(arr):time.sleep(random.random())#lettheprocesssleeparandomforidxinnp.ndindex(arr.shape):

python - multiprocessing.Pool 示例

我正在学习如何使用multiprocessing,并找到thefollowingexample.我想对值求和如下:frommultiprocessingimportPoolfromtimeimporttimeN=10K=50w=0defCostlyFunction(z):r=0forkinxrange(1,K+2):r+=z**(1/k**1.5)printrw+=rreturnrcurrtime=time()po=Pool()foriinxrange(N):po.apply_async(CostlyFunction,(i,))po.close()po.join()printwprin

python - 内存使用量随着 Python 的 multiprocessing.pool 不断增长

这是程序:#!/usr/bin/pythonimportmultiprocessingdefdummy_func(r):passdefworker():passif__name__=='__main__':pool=multiprocessing.Pool(processes=16)forindexinrange(0,100000):pool.apply_async(worker,callback=dummy_func)#cleanuppool.close()pool.join()我发现内存使用量(VIRT和RES)一直在增长,直到close()/join(),有什么解决方案可以解决这

python - celery worker 错误 : ImportError no module named celery

我在尝试启动celeryworker时遇到导入错误。我不确定问题是什么。任何帮助将不胜感激。我的项目:email/__init__.py/celery.py我尝试通过调用来运行应用程序:celeryworker--app=email我已经按照这里的所有步骤-http://docs.celeryproject.org/en/latest/getting-started/next-steps.html#about-the-app-argument回溯:File"/Users/.../bin/celery",line9,inload_entry_point('celery==3.0.24',