草庐IT

celery_worker

全部标签

python - 创建 celery 任务然后同步运行

我的应用在一个页面上收集了一堆电话号码。一旦用户点击提交按钮,我就会创建一个celery任务来调用每个号码并发出提醒消息,然后将他们重定向到一个页面,在那里他们可以看到有关调用的实时更新。我正在使用网络套接字实时更新每个调用的状态,并且需要同步执行任务,因为我只能从一个号码拨出。所以一旦第一个调用/任务完成,我希望下一个调用/任务启动。我看了CELERY_ALWAYS_EAGER设置,但它刚刚经历了第一次迭代并停止了。@taskdefreminder(number):#CODETHATCALLSNUMBERHERE....defmake_calls(request):fornumber

python - 创建 celery 任务然后同步运行

我的应用在一个页面上收集了一堆电话号码。一旦用户点击提交按钮,我就会创建一个celery任务来调用每个号码并发出提醒消息,然后将他们重定向到一个页面,在那里他们可以看到有关调用的实时更新。我正在使用网络套接字实时更新每个调用的状态,并且需要同步执行任务,因为我只能从一个号码拨出。所以一旦第一个调用/任务完成,我希望下一个调用/任务启动。我看了CELERY_ALWAYS_EAGER设置,但它刚刚经历了第一次迭代并停止了。@taskdefreminder(number):#CODETHATCALLSNUMBERHERE....defmake_calls(request):fornumber

python - Celery:什么时候应该选择 Redis 作为消息代理而不是 RabbitMQ?

我的粗略理解是,如果您需要内存中的键值存储功能,Redis会更好,但是我不确定这与分配任务有什么关系?这是否意味着如果我们已经将Redis用于其他用途,我们应该将它用作消息代理? 最佳答案 我最近(2017-2018年)都使用了这两种方法,它们在Celery4上都非常稳定。因此您可以根据托管设置的详细信息进行选择。如果您必须使用Celery版本2或版本3,请使用RabbitMQ。否则...如果您出于任何其他原因使用Redis,请使用Redis如果您在AWS上托管,请使用Redis,以便您可以将托管Redis用作服务如果您讨厌复杂的安

python - Celery:什么时候应该选择 Redis 作为消息代理而不是 RabbitMQ?

我的粗略理解是,如果您需要内存中的键值存储功能,Redis会更好,但是我不确定这与分配任务有什么关系?这是否意味着如果我们已经将Redis用于其他用途,我们应该将它用作消息代理? 最佳答案 我最近(2017-2018年)都使用了这两种方法,它们在Celery4上都非常稳定。因此您可以根据托管设置的详细信息进行选择。如果您必须使用Celery版本2或版本3,请使用RabbitMQ。否则...如果您出于任何其他原因使用Redis,请使用Redis如果您在AWS上托管,请使用Redis,以便您可以将托管Redis用作服务如果您讨厌复杂的安

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 - 1970 年具有 time_start 属性的 Celery 任务

对当前运行的Celery任务的检查发现了一个奇怪的time_start时间戳:>>celery.app.control.inspect().active(){u'celery@worker.hostname':[{u'acknowledged':True,u'args':u'(...,)',u'delivery_info':{u'exchange':u'celery',u'priority':0,u'redelivered':None,u'routing_key':u'celery'},u'hostname':u'celery@worker.hostname',u'id':u'3d92

python - 1970 年具有 time_start 属性的 Celery 任务

对当前运行的Celery任务的检查发现了一个奇怪的time_start时间戳:>>celery.app.control.inspect().active(){u'celery@worker.hostname':[{u'acknowledged':True,u'args':u'(...,)',u'delivery_info':{u'exchange':u'celery',u'priority':0,u'redelivered':None,u'routing_key':u'celery'},u'hostname':u'celery@worker.hostname',u'id':u'3d92