首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >芹菜- "WorkerLostError:工人过早离开:信号11 (SIGSEGV)“

芹菜- "WorkerLostError:工人过早离开:信号11 (SIGSEGV)“
EN

Stack Overflow用户
提问于 2015-12-11 17:07:28
回答 3查看 7.3K关注 0票数 7

我正在开发一个Django应用程序本地,它需要以CSV文件作为输入,并对该文件进行一些分析。我正在本地运行芹菜、RabbitMQ和web服务器。当我导入文件时,我在芹菜服务器上看到以下错误:

代码语言:javascript
运行
复制
[2015-12-11 16:58:53,906: WARNING/MainProcess] celery@Joes-MBP ready.
[2015-12-11 16:59:11,068: ERROR/MainProcess] Task program_manager.tasks.analyze_list_import_program[db22de16-b92f-4220-b2bd-5accf484c99a] raised unexpected: WorkerLostError('Worker exited prematurely: signal 11 (SIGSEGV).',)
Traceback (most recent call last):
File "/Users/joefusaro/rl_proto2/venv/lib/python2.7/site-packages/billiard/pool.py", line 1175, in mark_as_worker_lost
human_status(exitcode)),
WorkerLostError: Worker exited prematurely: signal 11 (SIGSEGV).

我不知道如何进一步解决这个问题;如果它能帮助我从program_manager/tasks.py复制相关代码的话:

代码语言:javascript
运行
复制
from __future__ import absolute_import

import csv
import rollbar
from celery import shared_task
from celery.utils.log import get_task_logger

from qscore.models import QualityScore
from integrations.salesforce.prepare import read_csv
from qscore.quality_score import QualityScoreCalculator


logger = get_task_logger(__name__)

@shared_task
def analyze_list_import_program(program):
    program.status = 'RUN'
    program.save()

    df = read_csv(program.csv_file.file)
    try:
        qs = program.get_current_quality_score()
        qs_calc = QualityScoreCalculator(df, qs)
        qscore_data = qs_calc.calculate()
        QualityScore.objects.filter(id=qs.id).update(**qscore_data)
    except Exception as e:
        rollbar.report_exc_info()
        program.status = 'ERROR'
    else:
        program.status = 'COMPL'
    finally:
        program.save()
EN

回答 3

Stack Overflow用户

发布于 2018-11-28 07:33:10

问题是,您的芹菜任务试图解锁/反序列化实际的Django对象program。将program_id作为参数传递给任务,并在任务本身中重新获取对象。

票数 0
EN

Stack Overflow用户

发布于 2021-01-03 06:26:34

这可以通过在单个任务函数中导入python包来解决,而不是在tasks.py顶部。

我已经删除了在tasks.py文件顶部导入的所有包,但从.celery from <project>.celery import app导入应用程序除外,然后在各个任务函数中导入包。而且起作用了!

票数 0
EN

Stack Overflow用户

发布于 2022-03-02 13:35:43

只是把我的部分加进去-

我收到了一个非常类似的问题。但当我从英特尔芯片转向苹果硅M1芯片时,我的问题就发生了。

下面是我为使我的系统正常工作所做的工作--在Dockerfile - (add =linux/add 64)中的更改

代码语言:javascript
运行
复制
FROM --platform=linux/amd64 <base_image>

更改docker-compose.yml -(添加平台:linux/add 64)

代码语言:javascript
运行
复制
db:
    image: postgres:12-alpine
    platform: linux/amd64
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
    ports:
      - 5435:5432

参考- m1/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34228838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档