from netra import task, SpanWrapper, ActionModel
@task()
def add_documents(mq, index_name: str, documents: list):
span = SpanWrapper("marqo-add-documents", {
"index.name": index_name,
"documents.count": len(documents)
}).start()
result = mq.index(index_name).add_documents(documents)
span.set_action([ActionModel(
action="insert",
action_type="database.insert",
success=result["status"] == "succeeded",
affected_records=[{"id": d.get("id") or d.get("_id")} for d in documents],
metadata={"index": index_name}
)])
span.set_attribute("status", result["status"])
span.end()
return result