Celery 任务未在 Mac M2 上运行(进程“ForkPoolWorker”退出并显示“信号 11 (SIGSEGV)”)

问题描述 投票:0回答:1

我尝试在 Mac M1 计算机上运行 Celery 任务时遇到问题。我收到的错误消息如下:

The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec().
Break on __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__() to debug.
[2023-11-20 15:51:19,174: ERROR/MainProcess] Process 'ForkPoolWorker-8' pid:5547 exited with 'signal 11 (SIGSEGV)'

我正在使用 Celery 进行 Django 应用程序任务处理,这个问题似乎与 M2 架构上的分叉有关。

我最初尝试通过导出

OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
来解决该问题,这似乎在短时间内有效。然而问题又出现了,这个解决方案不再有任何作用了。

值得注意的是,我目前正在我的机器上运行

MacOS Sonama 14.2 Beta

有趣的是,我之前在同一个测试版程序中遇到过并成功解决了这个问题。

任何有关如何解决此问题的见解或建议将不胜感激。

django rabbitmq celery apple-m1 task-queue
1个回答
0
投票

不确定它是否对您的情况有帮助,但我在 Mac 上使用 celery 时也遇到了与分叉过程相关的错误问题

对我有用的解决方案是使用 --pool=solo 选项启动工作进程

© www.soinside.com 2019 - 2024. All rights reserved.