0
批量导入markdown文件的时候,如果有文章处于同一类,会有部分导入失败。 查看代码发现是在查询分类的时候
Category category = categoryService.getByName(ele);
如果数据库中有多个同名的分类,则会报错。 按理说如果正常调用批量插入是不会有同名分类的,所以怀疑前端是不是并行调用这个接口导致的。总之数据库中确实有重名的分类。
批量导入markdown文件的时候,如果有文章处于同一类,会有部分导入失败。 查看代码发现是在查询分类的时候
Category category = categoryService.getByName(ele);
如果数据库中有多个同名的分类,则会报错。 按理说如果正常调用批量插入是不会有同名分类的,所以怀疑前端是不是并行调用这个接口导致的。总之数据库中确实有重名的分类。
好的,我们将尽快排查。
经排查发现,原因确实是您所描述的并行调用
。
我们将尽快解决这个问题。
但是问题应该出在 halo-admin
调用上。
可以考虑在接口上做个并发控制,再在数据库里建些唯一索引防止脏数据
这里确实应该考虑用一个消息队列
进行处理。
为了减少外部依赖,只能自己写一个简单的队列处理器
了。
已解决