Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 芹菜工人一次能做不止一件事吗?_Python_Celery - Fatal编程技术网

Python 芹菜工人一次能做不止一件事吗?

Python 芹菜工人一次能做不止一件事吗?,python,celery,Python,Celery,如果我有如下芹菜任务: @celery.task(name='tasks.webrequest') def webrequest(*args): try: webrequest = requests.get('{0}'.format(args[0]), auth=(args[1], args[2]), verify=False, timeout=240) except Exception as e: print e webreque

如果我有如下芹菜任务:

@celery.task(name='tasks.webrequest')
def webrequest(*args):
    try:
        webrequest = requests.get('{0}'.format(args[0]), auth=(args[1], args[2]), verify=False, timeout=240)
    except Exception as e:
        print e
        webrequest='cant talk to server'
    return webrequest
一个芹菜工人只有一个核心,所以只有一个工人线程。有没有办法让员工同时执行两个或多个任务

目前我正在执行如下工作:

celery -A app.celery worker -l DEBUG

当我用并发调用它时(谢谢Ale),它允许我拥有比cpu更多的线程

celery -A app.celery worker -c 30 -l DEBUG

我不是百分之百确定,但我认为那是不可能的。为什么不启动多个工人?请参阅:celery-A proj worker--loglevel=INFO--concurrency=10-n worker1。%hk请记住,简单地将并发性增加到一个较大的值并不会自动提高吞吐量。根据个人经验,在处理大量任务时,将并发度提高到5以上后,吞吐量并没有提高。这是一台非常结实的服务器。所以我确信系统资源不是一个约束。我强烈怀疑由于日志记录导致的磁盘I/O可能是一个瓶颈。但我没有任何证据支持这种说法。