草庐IT

celery_state

全部标签

python - 在 celery 中流式传输结果

我正在尝试使用celery在一组服务器上安排和运行任务。每个任务运行时间都比较长(几个小时),并且涉及使用子进程调用具有给定输入的特定程序。该程序在stdout和stderr中产生大量输出。有没有办法近乎实时地向客户端显示程序产生的输出?流式传输输出,以便客户端无需登录服务器即可观看服务器上运行的任务产生的输出? 最佳答案 您没有指定很多要求和约束。我假设您已经在某处拥有一个Redis实例。你可以做的是逐行读取其他进程的输出并通过redis发布:这是一个示例,您可以在其中将数据echo到文件/tmp/foo中以进行测试:import

python - 在 Celery 任务中获取 task_id

这可能是一个愚蠢的问题,但它让我从Ruby背景中难过。当我尝试打印时,我有一个看起来像这样的对象。printcelery.AsyncResult.task_id>>>我原以为这里会打印task_id属性的实际值。如何获得实际值?更新1@celery.taskdefscan(host):printcelery.AsyncResult.task_idcmd='ps-ef'cm=shlex.split(cmd)scan=subprocess.check_output(cm)returnscan最好的问候。 最佳答案 短篇小说,在函数sca

python - celery 链不适用于批处理

乍一看,我非常喜欢Celery中的“批处理”功能,因为我需要在调用API之前对一定数量的ID进行分组(否则我可能会被踢出局)。不幸的是,在进行一些测试时,批处理任务似乎不能很好地与其余的Canvas基元(在本例中为链)配合使用。例如:@a.task(base=Batches,flush_every=10,flush_interval=5)defget_price(requests):forrequestinrequests:a.backend.mark_as_done(request.id,42,request=request)print"filter_by_price"+str([r

Python + ZMQ : Operation cannot be accomplished in current state

我试图让一个python程序通过zeromq使用请求-回复模式与另一个python程序通信。客户端程序应向服务器程序发送请求,服务器程序进行回复。我有两台服务器,当一台服务器出现故障时,另一台服务器接管。当第一台服务器工作时,通信工作完美,但是,当第一台服务器发生故障并且当我向第二台服务器发出请求时,我看到错误:zmp.error.ZMQError:Operationcannotbeaccomplishedincurrentstate服务器1的代码:#RuntheserverwhileTrue:#Definethesocketusingthe"Context"sock=context.

python - 了解 Keras LSTM : Role of Batch-size and Statefulness

来源有多个来源解释了有状态/无状态LSTM以及我已经阅读过的batch_size的作用。我稍后会在我的帖子中提到它们:[1]https://machinelearningmastery.com/understanding-stateful-lstm-recurrent-neural-networks-python-keras/[2]https://machinelearningmastery.com/stateful-stateless-lstm-time-series-forecasting-python/[3]http://philipperemy.github.io/keras-

python - 使用 Celery 作为 Twisted 应用程序的控制 channel

我正在尝试使用Celery作为Twisted应用程序的控制channel。我的Twisted应用程序是一个抽象层,它为各种本地运行的进程(通过ProcessProtocol)提供标准接口(interface)。我想使用Celery来远程控制它——AMQP似乎是从中央位置控制许多Twisted应用程序的理想方法,我想利用Celery基于任务的功能,例如任务重试、子任务等这并没有像我计划的那样工作,我希望有人能帮助我指明正确的方向以实现这一目标。我在运行脚本时试图实现的行为是:开始一个稍微修改过的celeryd(见下)等待Celery任务收到“启动流程”任务时,生成ProcessProto

python - 本地主机上的 Django/Celery 多个队列 - 路由不起作用

我关注了celerydocs在我的开发机器上定义2个队列。我的celery设置:CELERY_ALWAYS_EAGER=TrueCELERY_TASK_RESULT_EXPIRES=60#1minsCELERYD_CONCURRENCY=2CELERYD_MAX_TASKS_PER_CHILD=4CELERYD_PREFETCH_MULTIPLIER=1CELERY_CREATE_MISSING_QUEUES=TrueCELERY_QUEUES=(Queue('default',Exchange('default'),routing_key='default'),Queue('feed

python - 具有多个装饰器的 celery 任务不会自动注册任务名称

我有一个看起来像这样的任务frommybasetask_moduleimportMyBaseTask@task(base=MyBaseTask)@my_custom_decoratordefmy_task(*args,**kwargs):pass我的基本任务是这样的fromceleryimporttask,TaskclassMyBaseTask(Task):abstract=Truedefault_retry_delay=10max_retries=3acks_late=True我遇到的问题是celeryworker正在用名称注册任务'mybasetask_module.__inner

python - 如何监控 celery 中的队列健康状况

我有以下设置:具有100个工作器的通用工作器池具有50个工作器的高优先级工作器池我使用如此大的数字是因为我的任务大部分时间都在等待超时很长的I/O(执行可能需要长达20秒才能响应的HTTP请求)使用RabbitMQ作为代理我已经使用init.dscripts将celeryd设置为守护进程来自celery'dgithub,具有以下参数:CELERYD_OPTS="--time-limit=600-c:low_p100-c:high_p50-Q:low_plow_priority_queue_name-Q:high_phigh_priority_queue_name"我的问题是,有时队列似

硬编码失败问题Codec reported err 0x80000000, actionCode 0, while in state 5

在某台小米11手机上创建MediaCodec编码器出现如下问题,看日志好像是状态不对2023-02-0810:53:32.17420710-21231/com.demoD/CCodec:ISConfigtimeOffset0us(=>INVALID_OPERATION)startat0us2023-02-0810:53:32.17620710-21230/com.demoE/MediaCodec:Codecreportederr0x80000000,actionCode0,whileinstate52023-02-0810:53:32.17820710-21229/com.demoE/demo