类 FunctionRuntimeManager
- java.lang.Object
-
- org.apache.pulsar.functions.worker.FunctionRuntimeManager
-
- 所有已实现的接口:
java.lang.AutoCloseable
public class FunctionRuntimeManager extends java.lang.Object implements java.lang.AutoCloseableThis class managers all aspects of functions assignments and running of function assignments for this worker
-
-
构造器概要
构造器 构造器 说明 FunctionRuntimeManager(org.apache.pulsar.functions.worker.WorkerConfig workerConfig, PulsarWorkerService workerService, org.apache.distributedlog.api.namespace.Namespace dlogNamespace, MembershipManager membershipManager, org.apache.pulsar.functions.worker.ConnectorsManager connectorsManager, FunctionsManager functionsManager, FunctionMetaDataManager functionMetaDataManager, WorkerStatsManager workerStatsManager, ErrorNotifier errorNotifier)
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 voidclose()voiddeleteAssignment(java.lang.String fullyQualifiedInstanceId)org.apache.pulsar.functions.proto.Function.AssignmentfindFunctionAssignment(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, int instanceId)Find a assignment of a functionjava.util.Collection<org.apache.pulsar.functions.proto.Function.Assignment>findFunctionAssignments(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName)Find all instance assignments of functionstatic java.util.Collection<org.apache.pulsar.functions.proto.Function.Assignment>findFunctionAssignments(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, java.util.Map<java.lang.String,java.util.Map<java.lang.String,org.apache.pulsar.functions.proto.Function.Assignment>> workerIdToAssignments)java.util.Map<java.lang.String,java.util.Map<java.lang.String,org.apache.pulsar.functions.proto.Function.Assignment>>getCurrentAssignments()Get current assignmentsorg.apache.pulsar.common.policies.data.FunctionInstanceStatsDataImplgetFunctionInstanceStats(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, int instanceId, java.net.URI uri)Get stats of a function instance.FunctionRuntimeInfogetFunctionRuntimeInfo(java.lang.String fullyQualifiedInstanceId)java.util.Map<java.lang.String,FunctionRuntimeInfo>getFunctionRuntimeInfos()org.apache.pulsar.common.policies.data.FunctionStatsImplgetFunctionStats(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, java.net.URI uri)Get stats of all function instances.intgetMyInstances()Methods for metricsorg.apache.pulsar.client.api.MessageIdinitialize()Initializes the FunctionRuntimeManager.voidprocessAssignment(org.apache.pulsar.functions.proto.Function.Assignment newAssignment)Process an assignment update from the assignment topicvoidprocessAssignmentMessage(org.apache.pulsar.client.api.Message<byte[]> msg)voidremoveAssignments(java.util.Collection<org.apache.pulsar.functions.proto.Function.Assignment> assignments)Removes a collection of assignmentsvoidrestartFunctionInstance(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, int instanceId, java.net.URI uri)voidrestartFunctionInstances(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName)voidstopAllOwnedFunctions()It stops all functions instances owned by current worker
-
-
-
构造器详细资料
-
FunctionRuntimeManager
public FunctionRuntimeManager(org.apache.pulsar.functions.worker.WorkerConfig workerConfig, PulsarWorkerService workerService, org.apache.distributedlog.api.namespace.Namespace dlogNamespace, MembershipManager membershipManager, org.apache.pulsar.functions.worker.ConnectorsManager connectorsManager, FunctionsManager functionsManager, FunctionMetaDataManager functionMetaDataManager, WorkerStatsManager workerStatsManager, ErrorNotifier errorNotifier) throws java.lang.Exception- 抛出:
java.lang.Exception
-
-
方法详细资料
-
initialize
public org.apache.pulsar.client.api.MessageId initialize()
Initializes the FunctionRuntimeManager. Does the following: 1. Consume all existing assignments to establish existing/latest set of assignments 2. After current assignments are read, assignments belonging to this worker will be processed- 返回:
- the message id of the message processed during init phase
-
getCurrentAssignments
public java.util.Map<java.lang.String,java.util.Map<java.lang.String,org.apache.pulsar.functions.proto.Function.Assignment>> getCurrentAssignments()
Get current assignments- 返回:
- a map of current assignments in the following format {workerId : {FullyQualifiedInstanceId : Assignment}}
-
findFunctionAssignment
public org.apache.pulsar.functions.proto.Function.Assignment findFunctionAssignment(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, int instanceId)Find a assignment of a function- 参数:
tenant- the tenant the function belongs tonamespace- the namespace the function belongs tofunctionName- the function name- 返回:
- the assignment of the function
-
findFunctionAssignments
public java.util.Collection<org.apache.pulsar.functions.proto.Function.Assignment> findFunctionAssignments(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName)Find all instance assignments of function- 参数:
tenant-namespace-functionName-- 返回:
-
findFunctionAssignments
public static java.util.Collection<org.apache.pulsar.functions.proto.Function.Assignment> findFunctionAssignments(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, java.util.Map<java.lang.String,java.util.Map<java.lang.String,org.apache.pulsar.functions.proto.Function.Assignment>> workerIdToAssignments)
-
removeAssignments
public void removeAssignments(java.util.Collection<org.apache.pulsar.functions.proto.Function.Assignment> assignments)
Removes a collection of assignments- 参数:
assignments- assignments to remove
-
restartFunctionInstance
public void restartFunctionInstance(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, int instanceId, java.net.URI uri) throws java.lang.Exception- 抛出:
java.lang.Exception
-
restartFunctionInstances
public void restartFunctionInstances(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName) throws java.lang.Exception- 抛出:
java.lang.Exception
-
stopAllOwnedFunctions
public void stopAllOwnedFunctions()
It stops all functions instances owned by current worker- 抛出:
java.lang.Exception
-
getFunctionInstanceStats
public org.apache.pulsar.common.policies.data.FunctionInstanceStatsDataImpl getFunctionInstanceStats(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, int instanceId, java.net.URI uri)Get stats of a function instance. If this worker is not running the function instance.- 参数:
tenant- the tenant the function belongs tonamespace- the namespace the function belongs tofunctionName- the function nameinstanceId- the function instance id- 返回:
- jsonObject containing stats for instance
-
getFunctionStats
public org.apache.pulsar.common.policies.data.FunctionStatsImpl getFunctionStats(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, java.net.URI uri) throws org.apache.pulsar.client.admin.PulsarAdminExceptionGet stats of all function instances.- 参数:
tenant- the tenant the function belongs tonamespace- the namespace the function belongs tofunctionName- the function name- 返回:
- a list of function statuses
- 抛出:
org.apache.pulsar.client.admin.PulsarAdminException
-
processAssignmentMessage
public void processAssignmentMessage(org.apache.pulsar.client.api.Message<byte[]> msg)
-
processAssignment
public void processAssignment(org.apache.pulsar.functions.proto.Function.Assignment newAssignment)
Process an assignment update from the assignment topic- 参数:
newAssignment- the assignment
-
deleteAssignment
public void deleteAssignment(java.lang.String fullyQualifiedInstanceId)
-
getFunctionRuntimeInfos
public java.util.Map<java.lang.String,FunctionRuntimeInfo> getFunctionRuntimeInfos()
-
close
public void close() throws java.lang.Exception- 指定者:
close在接口中java.lang.AutoCloseable- 抛出:
java.lang.Exception
-
getFunctionRuntimeInfo
public FunctionRuntimeInfo getFunctionRuntimeInfo(java.lang.String fullyQualifiedInstanceId)
-
getMyInstances
public int getMyInstances()
Methods for metrics
-
-