【发布时间】:2023-03-25 00:41:01
【问题描述】:
这是我的设置: 我正在使用 Django 并从 django rq-worker 调用 julia。使用 worker 可以避免线程问题,因为没有其他线程。
在 julia 中,我正在使用多处理来计算一些花哨的技术 wodooo。只要一切都好。
如果我启动 django 和 worker,我可以计算一次。一切都很好。但是第二次使用不同的数据时,我得到了这个错误。
┌ Error: Error adding value to column :t.
└ @ DataFrames ~/.julia/packages/DataFrames/nxjiD/src/dataframe/dataframe.jl:1644
在此之后,计算运行到最后,然后我收到一条很长的错误消息,其中包含堆栈竞争,但没有任何意义,我可以在哪里发现问题。
重启django,worker并没有解决问题。我必须删除“mymodule.pyc”并重新启动,然后计算再次运行......一次......第二次再次出现错误。
有什么不同的数据?我有一个我计算一些东西的碎片池。我们称它们为 a,b,c,d,....
所以如果我为 abc 运行 calc,就可以了。第二次为abc,也还好。但是,如果我接受 cde,它会引发错误。 但是cde不是问题。如果我将 cde 作为第一个 calc 运行,它会在运行 abc 时工作并崩溃。我希望它不会太混乱。
如何使用 julia 多线程:
import os
from multiprocessing import cpu_count
# read num of cpus and set the julia threas var
os.environ["JULIA_NUM_THREADS"] = str(cpu_count())
#import (py)julia
from julia import Main as jl
#do simething
jl.eval('some code')
jl.include("Main.jl")
我使用什么版本: Debian 10.7 蟒蛇3.7.9 pyjulia 0.5.6 朱莉娅 1.6.1 DataFrames:1.1.1(0.21.8 也不起作用)
【问题讨论】:
标签: python julia dataframes.jl