草庐IT

celery_worker

全部标签

python - 如何向 Celery (celerybeat) 动态添加/删除周期性任务

如果我有如下定义的函数:defadd(x,y):returnx+y有没有办法将此函数动态添加为celeryPeriodicTask并在运行时启动它?我希望能够做类似(伪代码)的事情:some_unique_task_id=celery.beat.schedule_task(add,run_every=crontab(minute="*/30"))celery.beat.start(some_unique_task_id)我还想使用(伪代码)之类的东西动态停止或删除该任务:celery.beat.remove_task(some_unique_task_id)或celery.beat.s

python - 如何向 Celery (celerybeat) 动态添加/删除周期性任务

如果我有如下定义的函数:defadd(x,y):returnx+y有没有办法将此函数动态添加为celeryPeriodicTask并在运行时启动它?我希望能够做类似(伪代码)的事情:some_unique_task_id=celery.beat.schedule_task(add,run_every=crontab(minute="*/30"))celery.beat.start(some_unique_task_id)我还想使用(伪代码)之类的东西动态停止或删除该任务:celery.beat.remove_task(some_unique_task_id)或celery.beat.s

python - 并发, worker 和自动缩放之间的 celery 差异

在我的/etc/defaults/celeryd配置文件中,我设置了:CELERYD_NODES="agent1agent2agent3agent4agent5agent6agent7agent8"CELERYD_OPTS="--autoscale=10,3--concurrency=5"我知道该守护进程会产生8个celeryworker,但我完全不确定autoscale和concurrency一起做什么。我认为并发是一种指定工作人员可以使用的最大线程数的方法,而自动缩放是工作人员在必要时扩大和缩小子工作人员的一种方式。这些任务有一个较大的有效负载(大约20-50kB),大约有2-3百

python - 并发, worker 和自动缩放之间的 celery 差异

在我的/etc/defaults/celeryd配置文件中,我设置了:CELERYD_NODES="agent1agent2agent3agent4agent5agent6agent7agent8"CELERYD_OPTS="--autoscale=10,3--concurrency=5"我知道该守护进程会产生8个celeryworker,但我完全不确定autoscale和concurrency一起做什么。我认为并发是一种指定工作人员可以使用的最大线程数的方法,而自动缩放是工作人员在必要时扩大和缩小子工作人员的一种方式。这些任务有一个较大的有效负载(大约20-50kB),大约有2-3百

python - 如何在不同的机器上设置 celery worker ?

我是celery新手。我知道如何安装和运行一台服务器,但我需要将任务分发到多台机器上。我的项目使用celery将传递给Web框架的用户请求分配给不同的机器,然后返回结果。我阅读了文档,但没有提到如何设置多台机器。我错过了什么? 最佳答案 我的理解是,您的应用会将请求推送到队列系统(例如rabbitMQ),然后您可以在不同的机器上启动任意数量的工作人员(可以访问与提交任务的应用相同的代码)。他们将从消息队列中挑选出任务,然后开始处理它们。完成后,他们将更新墓碑数据库。这样做的结果是您不必做任何特别的事情来启动多个worker。只需在不

python - 如何在不同的机器上设置 celery worker ?

我是celery新手。我知道如何安装和运行一台服务器,但我需要将任务分发到多台机器上。我的项目使用celery将传递给Web框架的用户请求分配给不同的机器,然后返回结果。我阅读了文档,但没有提到如何设置多台机器。我错过了什么? 最佳答案 我的理解是,您的应用会将请求推送到队列系统(例如rabbitMQ),然后您可以在不同的机器上启动任意数量的工作人员(可以访问与提交任务的应用相同的代码)。他们将从消息队列中挑选出任务,然后开始处理它们。完成后,他们将更新墓碑数据库。这样做的结果是您不必做任何特别的事情来启动多个worker。只需在不

python - 运行更多任务的 Celery 任务

我正在使用celerybeat启动一项主要任务,该任务启动了许多次要任务。我已经写好了这两个任务。有没有办法轻松做到这一点?Celery是否允许在任务中运行任务?我的例子:@taskdefcompute(users=None):ifusersisNone:users=User.objects.all()tasks=[]foruserinusers:tasks.append(compute_for_user.subtask((user.id,)))job=TaskSet(tasks)job.apply_async()#raisesaIOError:Socketclosed@taskdef

python - 运行更多任务的 Celery 任务

我正在使用celerybeat启动一项主要任务,该任务启动了许多次要任务。我已经写好了这两个任务。有没有办法轻松做到这一点?Celery是否允许在任务中运行任务?我的例子:@taskdefcompute(users=None):ifusersisNone:users=User.objects.all()tasks=[]foruserinusers:tasks.append(compute_for_user.subtask((user.id,)))job=TaskSet(tasks)job.apply_async()#raisesaIOError:Socketclosed@taskdef

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

我有一个django应用程序,并尝试先用gunicorn设置它,然后用主管和nginx设置它。应用程序正在使用普通的django命令运行,就像pythonmanage.pyrunserver我使用pip安装gunicorn,例如pipinstallgunicorn,django版本是1.5.3当我在虚拟环境中运行以下命令时,如下所示gunicornhello.wsgi:application-bxx.xxx.xxx.xx:8000遇到错误Traceback(mostrecentcalllast):File"/root/Envs/proj/bin/gunicorn",line9,inlo

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

我有一个django应用程序,并尝试先用gunicorn设置它,然后用主管和nginx设置它。应用程序正在使用普通的django命令运行,就像pythonmanage.pyrunserver我使用pip安装gunicorn,例如pipinstallgunicorn,django版本是1.5.3当我在虚拟环境中运行以下命令时,如下所示gunicornhello.wsgi:application-bxx.xxx.xxx.xx:8000遇到错误Traceback(mostrecentcalllast):File"/root/Envs/proj/bin/gunicorn",line9,inlo