草庐IT

worker-pool

全部标签

python - 特定任务后 celery 关闭 worker

我正在使用celery(并发池=1),我希望能够在特定任务运行后关闭工作程序。需要注意的是,我想避免worker在那之后再接手任何其他任务的可能性。这是我在大纲中的尝试:from__future__importabsolute_import,unicode_literalsfromceleryimportCeleryfromcelery.exceptionsimportWorkerShutdownfromcelery.signalsimporttask_postrunapp=Celery()app.config_from_object('celeryconfig')@app.taskd

python - 特定任务后 celery 关闭 worker

我正在使用celery(并发池=1),我希望能够在特定任务运行后关闭工作程序。需要注意的是,我想避免worker在那之后再接手任何其他任务的可能性。这是我在大纲中的尝试:from__future__importabsolute_import,unicode_literalsfromceleryimportCeleryfromcelery.exceptionsimportWorkerShutdownfromcelery.signalsimporttask_postrunapp=Celery()app.config_from_object('celeryconfig')@app.taskd

python - ZeroMQ worker 应该如何安全地 "hang up"?

我这周开始使用ZeroMQ,当使用请求-响应模式时,我不确定如何让工作人员安全地“挂断”并关闭他的套接字,而不会丢失消息并导致发送该消息的客户永远得不到回应。想象一个用Python编写的worker看起来像这样:importzmqc=zmq.Context()s=c.socket(zmq.REP)s.connect('tcp://127.0.0.1:9999')whileiinrange(8):s.recv()s.send('reply')s.close()我一直在做实验,发现127.0.0.1:9999的套接字类型zmq.REQ的客户发出公平排队请求可能有不幸的是,公平排队算法在wo

python - ZeroMQ worker 应该如何安全地 "hang up"?

我这周开始使用ZeroMQ,当使用请求-响应模式时,我不确定如何让工作人员安全地“挂断”并关闭他的套接字,而不会丢失消息并导致发送该消息的客户永远得不到回应。想象一个用Python编写的worker看起来像这样:importzmqc=zmq.Context()s=c.socket(zmq.REP)s.connect('tcp://127.0.0.1:9999')whileiinrange(8):s.recv()s.send('reply')s.close()我一直在做实验,发现127.0.0.1:9999的套接字类型zmq.REQ的客户发出公平排队请求可能有不幸的是,公平排队算法在wo

python - multiprocessing.Pool() 比仅使用普通函数慢

(这个问题是关于如何让multiprocessing.Pool()运行代码更快。我终于解决了,最终解决方案可以在帖子底部找到。)原问题:我正在尝试使用Python将一个单词与列表中的许多其他单词进行比较,并检索最相似的列表。为此,我使用了difflib.get_close_matches函数。我在使用Python2.6.5的相对较新且功能强大的Windows7笔记本电脑上。我想要的是加快比较过程,因为我的单词比较列表很长,我必须多次重复比较过程。当我听说多处理模块时,如果比较可以分解为工作任务并同时运行(从而利用机器功率来换取更快的速度),我的比较任务将更快地完成,这似乎是合乎逻辑的。

python - multiprocessing.Pool() 比仅使用普通函数慢

(这个问题是关于如何让multiprocessing.Pool()运行代码更快。我终于解决了,最终解决方案可以在帖子底部找到。)原问题:我正在尝试使用Python将一个单词与列表中的许多其他单词进行比较,并检索最相似的列表。为此,我使用了difflib.get_close_matches函数。我在使用Python2.6.5的相对较新且功能强大的Windows7笔记本电脑上。我想要的是加快比较过程,因为我的单词比较列表很长,我必须多次重复比较过程。当我听说多处理模块时,如果比较可以分解为工作任务并同时运行(从而利用机器功率来换取更快的速度),我的比较任务将更快地完成,这似乎是合乎逻辑的。

python - 我可以在 Pool.imap 调用的函数中使用多处理队列吗?

我正在使用python2.7,并尝试在自己的进程中运行一些CPU繁重的任务。我希望能够将消息发送回父进程,以使其了解进程的当前状态。多处理队列似乎很适合这个,但我不知道如何让它工作。所以,这是我的基本工作示例减去队列的使用。importmultiprocessingasmpimporttimedeff(x):returnx*xdefmain():pool=mp.Pool()results=pool.imap_unordered(f,range(1,6))time.sleep(1)printstr(results.next())pool.close()pool.join()if__nam

python - 我可以在 Pool.imap 调用的函数中使用多处理队列吗?

我正在使用python2.7,并尝试在自己的进程中运行一些CPU繁重的任务。我希望能够将消息发送回父进程,以使其了解进程的当前状态。多处理队列似乎很适合这个,但我不知道如何让它工作。所以,这是我的基本工作示例减去队列的使用。importmultiprocessingasmpimporttimedeff(x):returnx*xdefmain():pool=mp.Pool()results=pool.imap_unordered(f,range(1,6))time.sleep(1)printstr(results.next())pool.close()pool.join()if__nam

python - multiprocessing.Pool - PicklingError : Can't pickle <type 'thread.lock' >: attribute lookup thread. 锁定失败

multiprocessing.Pool快把我逼疯了...我想升级许多软件包,并且对于每个软件包,我都必须检查是否有更高版本。这是由check_one函数完成的。主要代码在Updater.update方法中:在那里我创建了Pool对象并调用map()方法。代码如下:defcheck_one(args):res,total,package,version=argsi=res.qsize()logger.info('\r[{0:.1%}-{1},{2}/{3}]',i/float(total),package,i,total,addn=False)try:json=PyPIJson(pac

python - multiprocessing.Pool - PicklingError : Can't pickle <type 'thread.lock' >: attribute lookup thread. 锁定失败

multiprocessing.Pool快把我逼疯了...我想升级许多软件包,并且对于每个软件包,我都必须检查是否有更高版本。这是由check_one函数完成的。主要代码在Updater.update方法中:在那里我创建了Pool对象并调用map()方法。代码如下:defcheck_one(args):res,total,package,version=argsi=res.qsize()logger.info('\r[{0:.1%}-{1},{2}/{3}]',i/float(total),package,i,total,addn=False)try:json=PyPIJson(pac