mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-07-04 18:45:38 +08:00
### What problem does this PR solve? 1. Go ingestion server will connected with admin server with gRPC stream 2. Go ingestion server will be responsible for ingestion tasks ``` RAGFlow(admin)> list ingestors; +-----------------+-----------+----------------------------------+---------------------------+----------+------------+--------------+--------+------------+---------------+ | address | cpu_usage | id | last_heartbeat | name | process_id | rss_usage | status | task_count | vms_usage | +-----------------+-----------+----------------------------------+---------------------------+----------+------------+--------------+--------+------------+---------------+ | 127.0.0.1:58564 | 0 | bdd1870eea2646e0aacb8a2cd3307aa2 | 2026-05-24T18:16:17+08:00 | ingestor | 680152 | 212.72265625 | active | 0 | 2589.12109375 | +-----------------+-----------+----------------------------------+---------------------------+----------+------------+--------------+--------+------------+---------------+ RAGFlow(admin)> start ingestion 'abc'; +----------------------------------+ | task_id | +----------------------------------+ | e714777639ca4760ab427b5f211e81ad | +----------------------------------+ RAGFlow(admin)> stop ingestion 'f7bd39d0a724457eb5fdce6d81699776'; +----------------------------------+ | task_id | +----------------------------------+ | f7bd39d0a724457eb5fdce6d81699776 | +----------------------------------+ RAGFlow(admin)> list tasks; +-----+----------------------------------+-------+------+----------------------------------+---------------------------+------------+------------+ | ETA | assign_to | error | from | id | last_update | start_time | status | +-----+----------------------------------+-------+------+----------------------------------+---------------------------+------------+------------+ | 0 | 17937da188b84f23a5c10bb87588944b | | CLI | eae6431da72a40e796cff3a03008091b | 2026-05-24T19:46:03+08:00 | | COMPLETED | | 0 | 17937da188b84f23a5c10bb87588944b | | CLI | 6cccdd174bd049ecb05a774bbb47593f | 2026-05-24T19:46:03+08:00 | | COMPLETED | | 0 | 17937da188b84f23a5c10bb87588944b | | CLI | ef360d777e57485799adb96b30f2b4b8 | 2026-05-24T19:46:03+08:00 | | CANCELED | | 0 | 17937da188b84f23a5c10bb87588944b | | CLI | bcc5c5448cb64de48b6b6171c36fb790 | 2026-05-24T19:46:03+08:00 | | CANCELED | | 0 | 17937da188b84f23a5c10bb87588944b | | CLI | bfc25384c43a443294fe2da979a38ac2 | 2026-05-24T19:46:03+08:00 | | DISPATCHED | | 0 | 17937da188b84f23a5c10bb87588944b | | CLI | 84960537b85d413b8990a9efd5952d67 | 2026-05-24T19:46:04+08:00 | | DISPATCHED | | 0 | 17937da188b84f23a5c10bb87588944b | | CLI | 3d223c1b51e24b36861a3bfb2f1d58d4 | 2026-05-24T19:46:03+08:00 | | CANCELED | | 0 | 17937da188b84f23a5c10bb87588944b | | CLI | e433b0e356b846c89c301621a3c54494 | 2026-05-24T19:46:03+08:00 | | COMPLETED | | 0 | 17937da188b84f23a5c10bb87588944b | | CLI | 7c93a3880f074ebd8eca14e6b51bb7ef | 2026-05-24T19:46:03+08:00 | | COMPLETED | | 0 | 17937da188b84f23a5c10bb87588944b | | CLI | df2e4ef51aaf4390bff9a23f2692486e | 2026-05-24T19:46:04+08:00 | | DISPATCHED | | 0 | 17937da188b84f23a5c10bb87588944b | | CLI | 7377c53010194ef7a83aa206698d66ff | 2026-05-24T19:46:05+08:00 | | DISPATCHED | | 0 | 17937da188b84f23a5c10bb87588944b | | CLI | df64d1a1f9d348e3a2f174c4d7d69e73 | 2026-05-24T19:46:05+08:00 | | DISPATCHED | | 0 | 17937da188b84f23a5c10bb87588944b | | CLI | b59834512e2847e1bdf13ace04b8a456 | 2026-05-24T19:46:06+08:00 | | DISPATCHED | | 0 | 17937da188b84f23a5c10bb87588944b | | CLI | 0064bb0ab69344028d1ecfda053826f4 | 2026-05-24T19:46:03+08:00 | | QUEUED | +-----+----------------------------------+-------+------+----------------------------------+---------------------------+------------+------------+ ``` ### Type of change - [x] New Feature (non-breaking change which adds functionality) --------- Signed-off-by: Jin Hai <haijin.chn@gmail.com>
116 lines
4.7 KiB
Go
116 lines
4.7 KiB
Go
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
|
// versions:
|
|
// - protoc-gen-go-grpc v1.6.1
|
|
// - protoc v3.21.12
|
|
// source: internal/proto/ingestion.proto
|
|
|
|
package common
|
|
|
|
import (
|
|
context "context"
|
|
grpc "google.golang.org/grpc"
|
|
codes "google.golang.org/grpc/codes"
|
|
status "google.golang.org/grpc/status"
|
|
)
|
|
|
|
// This is a compile-time assertion to ensure that this generated file
|
|
// is compatible with the grpc package it is being compiled against.
|
|
// Requires gRPC-Go v1.64.0 or later.
|
|
const _ = grpc.SupportPackageIsVersion9
|
|
|
|
const (
|
|
IngestionManager_Action_FullMethodName = "/common.IngestionManager/Action"
|
|
)
|
|
|
|
// IngestionManagerClient is the client API for IngestionManager service.
|
|
//
|
|
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
|
type IngestionManagerClient interface {
|
|
Action(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[IngestionMessage, AdminMessage], error)
|
|
}
|
|
|
|
type ingestionManagerClient struct {
|
|
cc grpc.ClientConnInterface
|
|
}
|
|
|
|
func NewIngestionManagerClient(cc grpc.ClientConnInterface) IngestionManagerClient {
|
|
return &ingestionManagerClient{cc}
|
|
}
|
|
|
|
func (c *ingestionManagerClient) Action(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[IngestionMessage, AdminMessage], error) {
|
|
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
|
stream, err := c.cc.NewStream(ctx, &IngestionManager_ServiceDesc.Streams[0], IngestionManager_Action_FullMethodName, cOpts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
x := &grpc.GenericClientStream[IngestionMessage, AdminMessage]{ClientStream: stream}
|
|
return x, nil
|
|
}
|
|
|
|
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
|
type IngestionManager_ActionClient = grpc.BidiStreamingClient[IngestionMessage, AdminMessage]
|
|
|
|
// IngestionManagerServer is the server API for IngestionManager service.
|
|
// All implementations must embed UnimplementedIngestionManagerServer
|
|
// for forward compatibility.
|
|
type IngestionManagerServer interface {
|
|
Action(grpc.BidiStreamingServer[IngestionMessage, AdminMessage]) error
|
|
mustEmbedUnimplementedIngestionManagerServer()
|
|
}
|
|
|
|
// UnimplementedIngestionManagerServer must be embedded to have
|
|
// forward compatible implementations.
|
|
//
|
|
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
|
// pointer dereference when methods are called.
|
|
type UnimplementedIngestionManagerServer struct{}
|
|
|
|
func (UnimplementedIngestionManagerServer) Action(grpc.BidiStreamingServer[IngestionMessage, AdminMessage]) error {
|
|
return status.Error(codes.Unimplemented, "method Action not implemented")
|
|
}
|
|
func (UnimplementedIngestionManagerServer) mustEmbedUnimplementedIngestionManagerServer() {}
|
|
func (UnimplementedIngestionManagerServer) testEmbeddedByValue() {}
|
|
|
|
// UnsafeIngestionManagerServer may be embedded to opt out of forward compatibility for this service.
|
|
// Use of this interface is not recommended, as added methods to IngestionManagerServer will
|
|
// result in compilation errors.
|
|
type UnsafeIngestionManagerServer interface {
|
|
mustEmbedUnimplementedIngestionManagerServer()
|
|
}
|
|
|
|
func RegisterIngestionManagerServer(s grpc.ServiceRegistrar, srv IngestionManagerServer) {
|
|
// If the following call panics, it indicates UnimplementedIngestionManagerServer was
|
|
// embedded by pointer and is nil. This will cause panics if an
|
|
// unimplemented method is ever invoked, so we test this at initialization
|
|
// time to prevent it from happening at runtime later due to I/O.
|
|
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
|
t.testEmbeddedByValue()
|
|
}
|
|
s.RegisterService(&IngestionManager_ServiceDesc, srv)
|
|
}
|
|
|
|
func _IngestionManager_Action_Handler(srv interface{}, stream grpc.ServerStream) error {
|
|
return srv.(IngestionManagerServer).Action(&grpc.GenericServerStream[IngestionMessage, AdminMessage]{ServerStream: stream})
|
|
}
|
|
|
|
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
|
type IngestionManager_ActionServer = grpc.BidiStreamingServer[IngestionMessage, AdminMessage]
|
|
|
|
// IngestionManager_ServiceDesc is the grpc.ServiceDesc for IngestionManager service.
|
|
// It's only intended for direct use with grpc.RegisterService,
|
|
// and not to be introspected or modified (even as a copy)
|
|
var IngestionManager_ServiceDesc = grpc.ServiceDesc{
|
|
ServiceName: "common.IngestionManager",
|
|
HandlerType: (*IngestionManagerServer)(nil),
|
|
Methods: []grpc.MethodDesc{},
|
|
Streams: []grpc.StreamDesc{
|
|
{
|
|
StreamName: "Action",
|
|
Handler: _IngestionManager_Action_Handler,
|
|
ServerStreams: true,
|
|
ClientStreams: true,
|
|
},
|
|
},
|
|
Metadata: "internal/proto/ingestion.proto",
|
|
}
|