resque-pool
无法在macOS High Sierra上启动resque工作人员
错误消息
bjc [5921]:调用fork()时,另一个线程中可能正在进行+ [__ NSPlaceholderDictionary initialize]。我们无法在fork()子进程中安全地调用它或忽略它。反而崩溃了。在objc_initializeAfterForkError上设置断点以进行调试。
答案 0 :(得分:1)
通过the accepted answer for this Stackexchange question研究并找到答案 - 它与Unicorn有关,但非常适用于我的问题。
Apple在分叉过程中对High Sierra进行了安全相关的更改。
Holger的回答提供了一种解决方法,可通过环境变量禁用High Sierra中的新安全功能。
OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
这解决了我的问题。我现在能够通过resque-pool
启动resque工作人员。
有关Ruby context is discussed here
问题的更多详细信息我raised an issue on the resque-pool gem。但可能在Ruby中需要解决的问题更多。我不够专业......