Interface ManagementService
-
- All Known Implementing Classes:
ManagementServiceImpl
public interface ManagementService
Service for admin and maintenance operations on the process engine. These operations will typically not be used in a workflow driven application, but are used in for example the operational console.- Author:
- Tom Baeyens, Joram Barrez, Falko Menge, Thorben Lindhauer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
activateBatchById(String batchId)
Activates theBatch
with the given id immediately.void
activateJobById(String jobId)
Activates theJob
with the given id.void
activateJobByJobDefinitionId(String jobDefinitionId)
Activates allJob
s of the provided job definition id.void
activateJobByProcessDefinitionId(String processDefinitionId)
Activates allJob
s of the provided process definition id.void
activateJobByProcessDefinitionKey(String processDefinitionKey)
ActivatesJob
s of the provided process definition key.void
activateJobByProcessInstanceId(String processInstanceId)
Activates allJob
s of the provided process instance id.void
activateJobDefinitionById(String jobDefinitionId)
Activates theJobDefinition
with the given id immediately.void
activateJobDefinitionById(String jobDefinitionId, boolean activateJobs)
Activates theJobDefinition
with the given id immediately.void
activateJobDefinitionById(String jobDefinitionId, boolean activateJobs, Date activationDate)
Activates theJobDefinition
with the given id.void
activateJobDefinitionByProcessDefinitionId(String processDefinitionId)
Activates allJobDefinition
s of the provided process definition id immediately.void
activateJobDefinitionByProcessDefinitionId(String processDefinitionId, boolean activateJobs)
Activates allJobDefinition
s of the provided process definition id immediately.void
activateJobDefinitionByProcessDefinitionId(String processDefinitionId, boolean activateJobs, Date activationDate)
Activates allJobDefinition
s of the provided process definition id.void
activateJobDefinitionByProcessDefinitionKey(String processDefinitionKey)
Activates allJobDefinition
s of the provided process definition key immediately.void
activateJobDefinitionByProcessDefinitionKey(String processDefinitionKey, boolean activateJobs)
Activates allJobDefinition
s of the provided process definition key immediately.void
activateJobDefinitionByProcessDefinitionKey(String processDefinitionKey, boolean activateJobs, Date activationDate)
Activates allJobDefinition
s of the provided process definition key.void
clearOverridingJobPriorityForJobDefinition(String jobDefinitionId)
Clears the job definition's overriding job priority if set.ActivityStatisticsQuery
createActivityStatisticsQuery(String processDefinitionId)
Query for the number of activity instances aggregated by activities of a single process definition.BatchQuery
createBatchQuery()
Creates a query to search forBatch
instances.BatchStatisticsQuery
createBatchStatisticsQuery()
Query for the statistics of the batch execution jobs of a batch.DeploymentStatisticsQuery
createDeploymentStatisticsQuery()
Query for the number of process instances aggregated by deployments.JobDefinitionQuery
createJobDefinitionQuery()
Returns a newJobDefinitionQuery
implementation, that can be used to dynamically query the job definitions.JobQuery
createJobQuery()
Returns a new JobQuery implementation, that can be used to dynamically query the jobs.MetricsQuery
createMetricsQuery()
ProcessDefinitionStatisticsQuery
createProcessDefinitionStatisticsQuery()
Query for the number of process instances aggregated by process definitions.SchemaLogQuery
createSchemaLogQuery()
Query for entries of the database schema log.TablePageQuery
createTablePageQuery()
Creates aTablePageQuery
that can be used to fetchTablePage
containing specific sections of table row data.String
databaseSchemaUpgrade(Connection connection, String catalog, String schema)
programmatic schema update on a given connection returning feedback about what happened Note: will always return an empty stringvoid
deleteBatch(String batchId, boolean cascade)
Deletes a batch instance and the corresponding job definitions.void
deleteJob(String jobId)
Delete the job with the provided id.void
deleteLicenseKey()
Deletes the stored license key.void
deleteMetrics(Date timestamp)
Deletes all metrics events which are older than the specified timestamp.void
deleteMetrics(Date timestamp, String reporter)
Deletes all metrics events which are older than the specified timestamp and reported by the given reporter.void
deleteProperty(String name)
Deletes a property by name.void
deleteTaskMetrics(Date timestamp)
Deletes all task metrics which are older than the specified timestamp.void
executeJob(String jobId)
Forced synchronous execution of a job (eg.int
getHistoryLevel()
Get the configured history level for the process engine.String
getJobExceptionStacktrace(String jobId)
Returns the full stacktrace of the exception that occurs when the job with the given id was last executed.String
getLicenseKey()
Get the stored license key string ornull
if no license is set.String
getProcessApplicationForDeployment(String deploymentId)
Map<String,String>
getProperties()
Set<String>
getRegisteredDeployments()
Get the deployments that are registered the engine's job executor.Map<String,Long>
getTableCount()
Get the mapping containing {table name, row count} entries of the database schema.TableMetaData
getTableMetaData(String tableName)
Gets the metadata (column names, column types, etc.) of a certain table.String
getTableName(Class<?> entityClass)
long
getUniqueTaskWorkerCount(Date startTime, Date endTime)
Calculates the number of unique task workers based on user task assignees.Boolean
isTelemetryEnabled()
Checks how sending telemetry data to Camunda is configuredvoid
recalculateJobDuedate(String jobId, boolean creationDateBased)
Triggers the recalculation for the job with the provided id.void
registerDeploymentForJobExecutor(String deploymentId)
Register a deployment for the engine's job executor.ProcessApplicationRegistration
registerProcessApplication(String deploymentId, ProcessApplicationReference reference)
Activate a deployment for a given ProcessApplication.void
reportDbMetricsNow()
Forces this engine to commit its pending collected metrics to the database.void
setJobDuedate(String jobId, Date newDuedate)
Sets a new due date for the provided id.void
setJobDuedate(String jobId, Date newDuedate, boolean cascade)
Sets a new due date for the provided id.void
setJobPriority(String jobId, long priority)
Sets a new priority for the job with the provided id.void
setJobRetries(String jobId, int retries)
Sets the number of retries that a job has left.void
setJobRetries(List<String> jobIds, int retries)
Sets the number of retries that jobs have left.Batch
setJobRetriesAsync(List<String> jobIds, int retries)
Sets the number of retries that jobs have left asynchronously.Batch
setJobRetriesAsync(List<String> jobIds, JobQuery jobQuery, int retries)
Sets the number of retries that jobs have left asynchronously.Batch
setJobRetriesAsync(List<String> processInstanceIds, ProcessInstanceQuery query, int retries)
Sets the number of retries that jobs have left asynchronously.Batch
setJobRetriesAsync(List<String> processInstanceIds, ProcessInstanceQuery processInstanceQuery, HistoricProcessInstanceQuery historicProcessInstanceQuery, int retries)
Sets the number of retries that jobs have left asynchronously.Batch
setJobRetriesAsync(JobQuery jobQuery, int retries)
Sets the number of retries that jobs have left asynchronously.void
setJobRetriesByJobDefinitionId(String jobDefinitionId, int retries)
Set the number of retries of all failedjobs
of the provided job definition id.void
setLicenseKey(String licenseKey)
Set the license key.void
setOverridingJobPriorityForJobDefinition(String jobDefinitionId, long priority)
Sets an explicit priority for jobs of the given job definition.void
setOverridingJobPriorityForJobDefinition(String jobDefinitionId, long priority, boolean cascade)
Sets an explicit default priority for jobs of the given job definition.void
setProperty(String name, String value)
Set the value for a property.void
suspendBatchById(String batchId)
Suspends theBatch
with the given id immediately.void
suspendJobById(String jobId)
Suspends theJob
with the given id.void
suspendJobByJobDefinitionId(String jobDefinitionId)
Suspends allJob
s of the provided job definition id.void
suspendJobByProcessDefinitionId(String processDefinitionId)
Suspends allJob
s of the provided process definition id.void
suspendJobByProcessDefinitionKey(String processDefinitionKey)
SuspendsJob
s of the provided process definition key.void
suspendJobByProcessInstanceId(String processInstanceId)
Suspends allJob
s of the provided process instance id.void
suspendJobDefinitionById(String jobDefinitionId)
Suspends theJobDefinition
with the given id immediately.void
suspendJobDefinitionById(String jobDefinitionId, boolean suspendJobs)
Suspends theJobDefinition
with the given id immediately.void
suspendJobDefinitionById(String jobDefinitionId, boolean suspendJobs, Date suspensionDate)
Suspends theJobDefinition
with the given id.void
suspendJobDefinitionByProcessDefinitionId(String processDefinitionId)
Suspends allJobDefinition
of the provided process definition id immediately.void
suspendJobDefinitionByProcessDefinitionId(String processDefinitionId, boolean suspendJobs)
Suspends allJobDefinition
s of the provided process definition id immediately.void
suspendJobDefinitionByProcessDefinitionId(String processDefinitionId, boolean suspendJobs, Date suspensionDate)
Suspends allJobDefinition
s of the provided process definition id.void
suspendJobDefinitionByProcessDefinitionKey(String processDefinitionKey)
Suspends allJobDefinition
of the provided process definition key immediately.void
suspendJobDefinitionByProcessDefinitionKey(String processDefinitionKey, boolean suspendJobs)
Suspends allJobDefinition
s of the provided process definition key immediately.void
suspendJobDefinitionByProcessDefinitionKey(String processDefinitionKey, boolean suspendJobs, Date suspensionDate)
Suspends allJobDefinition
s of the provided process definition key.void
toggleTelemetry(boolean enabled)
Enable/disable sending telemetry data to Camundavoid
unregisterDeploymentForJobExecutor(String deploymentId)
Unregister a deployment for the engine's job executor.void
unregisterProcessApplication(String deploymentId, boolean removeProcessDefinitionsFromCache)
Deactivate a deployment for a given ProcessApplication.void
unregisterProcessApplication(Set<String> deploymentIds, boolean removeProcessDefinitionsFromCache)
Deactivate a deployment for a given ProcessApplication.UpdateJobDefinitionSuspensionStateSelectBuilder
updateJobDefinitionSuspensionState()
Activate or suspend job definitions using a fluent builder.UpdateJobSuspensionStateSelectBuilder
updateJobSuspensionState()
Activate or suspend jobs using a fluent builder.
-
-
-
Method Detail
-
registerProcessApplication
ProcessApplicationRegistration registerProcessApplication(String deploymentId, ProcessApplicationReference reference)
Activate a deployment for a given ProcessApplication. The effect of this method is twofold:- The process engine will execute atomic operations within the context of that ProcessApplication
- The job executor will start acquiring jobs from that deployment
- Parameters:
deploymentId
- the Id of the deployment to activatereference
- the reference to the process application- Returns:
- a new
ProcessApplicationRegistration
- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
unregisterProcessApplication
void unregisterProcessApplication(String deploymentId, boolean removeProcessDefinitionsFromCache)
Deactivate a deployment for a given ProcessApplication. This removes the association between the process engine and the process application and optionally removes the associated process definitions from the cache.- Parameters:
deploymentId
- the Id of the deployment to deactivateremoveProcessDefinitionsFromCache
- indicates whether the process definitions should be removed from the deployment cache- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
unregisterProcessApplication
void unregisterProcessApplication(Set<String> deploymentIds, boolean removeProcessDefinitionsFromCache)
Deactivate a deployment for a given ProcessApplication. This removes the association between the process engine and the process application and optionally removes the associated process definitions from the cache.- Parameters:
deploymentIds
- the Ids of the deployments to deactivateremoveProcessDefinitionsFromCache
- indicates whether the process definitions should be removed from the deployment cache- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
getProcessApplicationForDeployment
String getProcessApplicationForDeployment(String deploymentId)
- Returns:
- the name of the process application that is currently registered for the given deployment or 'null' if no process application is currently registered.
- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
getTableCount
Map<String,Long> getTableCount()
Get the mapping containing {table name, row count} entries of the database schema.- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
getTableName
String getTableName(Class<?> entityClass)
Gets the table name (including any configured prefix) for an entity likeTask
,Execution
or the like.- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
getTableMetaData
TableMetaData getTableMetaData(String tableName)
Gets the metadata (column names, column types, etc.) of a certain table. Returns null when no table exists with the given name.- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
createTablePageQuery
TablePageQuery createTablePageQuery()
Creates aTablePageQuery
that can be used to fetchTablePage
containing specific sections of table row data.- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
createJobQuery
JobQuery createJobQuery()
Returns a new JobQuery implementation, that can be used to dynamically query the jobs.
-
createJobDefinitionQuery
JobDefinitionQuery createJobDefinitionQuery()
Returns a newJobDefinitionQuery
implementation, that can be used to dynamically query the job definitions.
-
executeJob
void executeJob(String jobId)
Forced synchronous execution of a job (eg. for administration or testing) The job will be executed, even if the process definition and/or the process instance is in suspended state.- Parameters:
jobId
- id of the job to execute, cannot be null.- Throws:
ProcessEngineException
- When there is no job with the given id.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
or noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
.
-
deleteJob
void deleteJob(String jobId)
Delete the job with the provided id.- Parameters:
jobId
- id of the job to execute, cannot be null.- Throws:
ProcessEngineException
- When there is no job with the given id.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
or noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
.
-
activateJobDefinitionById
void activateJobDefinitionById(String jobDefinitionId)
Activates the
JobDefinition
with the given id immediately.Note: All
Job
s of the provided job definition will be not activated.Note: for more complex activate commands use
updateJobDefinitionSuspensionState()
.- Throws:
ProcessEngineException
- If the job definition id is equal null.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_DEFINITION
.- See Also:
activateJobById(String)
,activateJobByJobDefinitionId(String)
-
activateJobDefinitionByProcessDefinitionId
void activateJobDefinitionByProcessDefinitionId(String processDefinitionId)
Activates all
JobDefinition
s of the provided process definition id immediately.Note: All
Job
s of the provided job definition will be not activated.Note: for more complex activate commands use
updateJobDefinitionSuspensionState()
.- Throws:
ProcessEngineException
- If the process definition id is equal null.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_DEFINITION
.- See Also:
activateJobByProcessDefinitionId(String)
-
activateJobDefinitionByProcessDefinitionKey
void activateJobDefinitionByProcessDefinitionKey(String processDefinitionKey)
Activates all
JobDefinition
s of the provided process definition key immediately.Note: All
Job
s of the provided job definition will be not activated.Note: for more complex activate commands use
updateJobDefinitionSuspensionState()
.- Throws:
ProcessEngineException
- If the process definition key is equal null.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_DEFINITION
.- See Also:
activateJobByProcessDefinitionKey(String)
-
activateJobDefinitionById
void activateJobDefinitionById(String jobDefinitionId, boolean activateJobs)
Activates the
JobDefinition
with the given id immediately.Note: for more complex activate commands use
updateJobDefinitionSuspensionState()
.- Parameters:
activateJobs
- If true, all theJob
s of the provided job definition will be activated too.- Throws:
ProcessEngineException
- If the job definition id is equal null.AuthorizationException
- thrown if the current user does not possess IfactivateJobs
istrue
, the user must further possess one of the following permissions:- See Also:
activateJobById(String)
,activateJobByJobDefinitionId(String)
-
activateJobDefinitionByProcessDefinitionId
void activateJobDefinitionByProcessDefinitionId(String processDefinitionId, boolean activateJobs)
Activates all
JobDefinition
s of the provided process definition id immediately.Note: for more complex activate commands use
updateJobDefinitionSuspensionState()
.- Parameters:
activateJobs
- If true, all theJob
s of the provided job definition will be activated too.- Throws:
ProcessEngineException
- If the process definition id is equal null.AuthorizationException
- thrown if the current user does not possess IfactivateJobs
istrue
, the user must further possess one of the following permissions:- See Also:
activateJobByProcessDefinitionId(String)
-
activateJobDefinitionByProcessDefinitionKey
void activateJobDefinitionByProcessDefinitionKey(String processDefinitionKey, boolean activateJobs)
Activates all
JobDefinition
s of the provided process definition key immediately.Note: for more complex activate commands use
updateJobDefinitionSuspensionState()
.- Parameters:
activateJobs
- If true, all theJob
s of the provided job definition will be activated too.- Throws:
ProcessEngineException
- If the process definition key is equal null.AuthorizationException
- thrown if the current user does not possess IfactivateJobs
istrue
, the user must further possess one of the following permissions:- See Also:
activateJobByProcessDefinitionKey(String)
-
activateJobDefinitionById
void activateJobDefinitionById(String jobDefinitionId, boolean activateJobs, Date activationDate)
Activates theJobDefinition
with the given id.Note: for more complex activate commands use
updateJobDefinitionSuspensionState()
.- Parameters:
activateJobs
- If true, all theJob
s of the provided job definition will be activated too.activationDate
- The date on which the job definition will be activated. If null, the job definition is activated immediately. Note: TheJobExecutor
needs to be active to use this!- Throws:
ProcessEngineException
- If the job definition id is equal null.AuthorizationException
- thrown if the current user does not possess IfactivateJobs
istrue
, the user must further possess one of the following permissions:- See Also:
activateJobById(String)
,activateJobByJobDefinitionId(String)
-
activateJobDefinitionByProcessDefinitionId
void activateJobDefinitionByProcessDefinitionId(String processDefinitionId, boolean activateJobs, Date activationDate)
Activates all
JobDefinition
s of the provided process definition id.Note: for more complex activate commands use
updateJobDefinitionSuspensionState()
.- Parameters:
activateJobs
- If true, all theJob
s of the provided job definition will be activated too.activationDate
- The date on which the job definition will be activated. If null, the job definition is activated immediately. Note: TheJobExecutor
needs to be active to use this!- Throws:
ProcessEngineException
- If the process definition id is equal null.AuthorizationException
- thrown if the current user does not possess IfactivateJobs
istrue
, the user must further possess one of the following permissions:- See Also:
activateJobByProcessDefinitionId(String)
-
activateJobDefinitionByProcessDefinitionKey
void activateJobDefinitionByProcessDefinitionKey(String processDefinitionKey, boolean activateJobs, Date activationDate)
Activates all
JobDefinition
s of the provided process definition key.Note: for more complex activate commands use
updateJobDefinitionSuspensionState()
.- Parameters:
activateJobs
- If true, all theJob
s of the provided job definition will be activated too.activationDate
- The date on which the job definition will be activated. If null, the job definition is activated immediately. Note: TheJobExecutor
needs to be active to use this!- Throws:
ProcessEngineException
- If the process definition key is equal null.AuthorizationException
- thrown if the current user does not possess IfactivateJobs
istrue
, the user must further possess one of the following permissions:- See Also:
activateJobByProcessDefinitionKey(String)
-
suspendJobDefinitionById
void suspendJobDefinitionById(String jobDefinitionId)
Suspends the
JobDefinition
with the given id immediately.Note: for more complex suspend commands use
updateJobDefinitionSuspensionState()
.Note: All
Job
s of the provided job definition will be not suspended.- Throws:
ProcessEngineException
- If no such job definition can be found.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_DEFINITION
.- See Also:
suspendJobById(String)
,suspendJobByJobDefinitionId(String)
-
suspendJobDefinitionByProcessDefinitionId
void suspendJobDefinitionByProcessDefinitionId(String processDefinitionId)
Suspends all
JobDefinition
of the provided process definition id immediately.Note: for more complex suspend commands use
updateJobDefinitionSuspensionState()
.Note: All
Job
s of the provided job definition will be not suspended.- Throws:
ProcessEngineException
- If the process definition id is equal null.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_DEFINITION
.- See Also:
suspendJobByProcessDefinitionId(String)
-
suspendJobDefinitionByProcessDefinitionKey
void suspendJobDefinitionByProcessDefinitionKey(String processDefinitionKey)
Suspends all
JobDefinition
of the provided process definition key immediately.Note: for more complex suspend commands use
updateJobDefinitionSuspensionState()
.Note: All
Job
s of the provided job definition will be not suspended.- Throws:
ProcessEngineException
- If the process definition key is equal null.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_DEFINITION
.- See Also:
suspendJobByProcessDefinitionKey(String)
-
suspendJobDefinitionById
void suspendJobDefinitionById(String jobDefinitionId, boolean suspendJobs)
Suspends theJobDefinition
with the given id immediately.Note: for more complex suspend commands use
updateJobDefinitionSuspensionState()
.- Parameters:
suspendJobs
- If true, all theJob
s of the provided job definition will be suspended too.- Throws:
ProcessEngineException
- If the job definition id is equal null.AuthorizationException
- thrown if the current user does not possess IfsuspendJobs
istrue
, the user must further possess one of the following permissions:- See Also:
suspendJobById(String)
,suspendJobByJobDefinitionId(String)
-
suspendJobDefinitionByProcessDefinitionId
void suspendJobDefinitionByProcessDefinitionId(String processDefinitionId, boolean suspendJobs)
Suspends allJobDefinition
s of the provided process definition id immediately.Note: for more complex suspend commands use
updateJobDefinitionSuspensionState()
.- Parameters:
suspendJobs
- If true, all theJob
s of the provided job definition will be suspended too.- Throws:
ProcessEngineException
- If the process definition id is equal null.AuthorizationException
- thrown if the current user does not possess IfsuspendJobs
istrue
, the user must further possess one of the following permissions:- See Also:
suspendJobByProcessDefinitionId(String)
-
suspendJobDefinitionByProcessDefinitionKey
void suspendJobDefinitionByProcessDefinitionKey(String processDefinitionKey, boolean suspendJobs)
Suspends allJobDefinition
s of the provided process definition key immediately.Note: for more complex suspend commands use
updateJobDefinitionSuspensionState()
.- Parameters:
suspendJobs
- If true, all theJob
s of the provided job definition will be suspended too.- Throws:
ProcessEngineException
- If the process definition key is equal null.AuthorizationException
- thrown if the current user does not possess IfsuspendJobs
istrue
, the user must further possess one of the following permissions:- See Also:
suspendJobByProcessDefinitionKey(String)
-
suspendJobDefinitionById
void suspendJobDefinitionById(String jobDefinitionId, boolean suspendJobs, Date suspensionDate)
Suspends theJobDefinition
with the given id.Note: for more complex suspend commands use
updateJobDefinitionSuspensionState()
.- Parameters:
suspendJobs
- If true, all theJob
s of the provided job definition will be suspended too.suspensionDate
- The date on which the job definition will be suspended. If null, the job definition is suspended immediately. Note: TheJobExecutor
needs to be active to use this!- Throws:
ProcessEngineException
- If the job definition id is equal null.AuthorizationException
- thrown if the current user does not possess IfsuspendJobs
istrue
, the user must further possess one of the following permissions:- See Also:
suspendJobById(String)
,suspendJobByJobDefinitionId(String)
-
suspendJobDefinitionByProcessDefinitionId
void suspendJobDefinitionByProcessDefinitionId(String processDefinitionId, boolean suspendJobs, Date suspensionDate)
Suspends allJobDefinition
s of the provided process definition id.Note: for more complex suspend commands use
updateJobDefinitionSuspensionState()
.- Parameters:
suspendJobs
- If true, all theJob
s of the provided job definition will be suspended too.suspensionDate
- The date on which the job definition will be suspended. If null, the job definition is suspended immediately. Note: TheJobExecutor
needs to be active to use this!- Throws:
ProcessEngineException
- If the process definition id is equal null.AuthorizationException
- thrown if the current user does not possess IfsuspendJobs
istrue
, the user must further possess one of the following permissions:- See Also:
suspendJobByProcessDefinitionId(String)
-
suspendJobDefinitionByProcessDefinitionKey
void suspendJobDefinitionByProcessDefinitionKey(String processDefinitionKey, boolean suspendJobs, Date suspensionDate)
Suspends allJobDefinition
s of the provided process definition key.Note: for more complex suspend commands use
updateJobDefinitionSuspensionState()
.- Parameters:
suspendJobs
- If true, all theJob
s of the provided job definition will be suspended too.suspensionDate
- The date on which the job definition will be suspended. If null, the job definition is suspended immediately. Note: TheJobExecutor
needs to be active to use this!- Throws:
ProcessEngineException
- If the process definition key is equal null.AuthorizationException
- thrown if the current user does not possess IfsuspendJobs
istrue
, the user must further possess one of the following permissions:- See Also:
suspendJobByProcessDefinitionKey(String)
-
activateJobById
void activateJobById(String jobId)
Activates the
Job
with the given id.Note: for more complex activate commands use
updateJobSuspensionState()
.- Throws:
ProcessEngineException
- If the job id is equal null.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
or noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
.
-
activateJobByJobDefinitionId
void activateJobByJobDefinitionId(String jobDefinitionId)
Activates all
Job
s of the provided job definition id.Note: for more complex activate commands use
updateJobSuspensionState()
.- Throws:
ProcessEngineException
- If the job definition id is equal null.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
or noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
.
-
activateJobByProcessInstanceId
void activateJobByProcessInstanceId(String processInstanceId)
Activates all
Job
s of the provided process instance id.Note: for more complex activate commands use
updateJobSuspensionState()
.- Throws:
ProcessEngineException
- If the process instance id is equal null.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
or noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
.
-
activateJobByProcessDefinitionId
void activateJobByProcessDefinitionId(String processDefinitionId)
Activates all
Job
s of the provided process definition id.Note: for more complex activate commands use
updateJobSuspensionState()
.- Throws:
ProcessEngineException
- If the process definition id is equal null.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
or noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
.
-
activateJobByProcessDefinitionKey
void activateJobByProcessDefinitionKey(String processDefinitionKey)
Activates
Job
s of the provided process definition key.Note: for more complex activate commands use
updateJobSuspensionState()
.- Throws:
ProcessEngineException
- If the process definition key is equal null.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
or noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
.
-
suspendJobById
void suspendJobById(String jobId)
Suspends the
Job
with the given id.Note: for more complex suspend commands use
updateJobSuspensionState()
.- Throws:
ProcessEngineException
- If the job id is equal null.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
or noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
.
-
suspendJobByJobDefinitionId
void suspendJobByJobDefinitionId(String jobDefinitionId)
Suspends all
Job
s of the provided job definition id.Note: for more complex suspend commands use
updateJobSuspensionState()
.- Throws:
ProcessEngineException
- If the job definition id is equal null.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
or noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
.
-
suspendJobByProcessInstanceId
void suspendJobByProcessInstanceId(String processInstanceId)
Suspends all
Job
s of the provided process instance id.Note: for more complex suspend commands use
updateJobSuspensionState()
.- Throws:
ProcessEngineException
- If the process instance id is equal null.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
or noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
.
-
suspendJobByProcessDefinitionId
void suspendJobByProcessDefinitionId(String processDefinitionId)
Suspends all
Job
s of the provided process definition id.Note: for more complex suspend commands use
updateJobSuspensionState()
.- Throws:
ProcessEngineException
- If the process definition id is equal null.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
or noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
.
-
suspendJobByProcessDefinitionKey
void suspendJobByProcessDefinitionKey(String processDefinitionKey)
Suspends
Job
s of the provided process definition key.Note: for more complex suspend commands use
updateJobSuspensionState()
.- Throws:
ProcessEngineException
- If the process definition key is equal null.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
or noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
.
-
updateJobSuspensionState
UpdateJobSuspensionStateSelectBuilder updateJobSuspensionState()
Activate or suspend jobs using a fluent builder. Specify the jobs by calling one of the by methods, like byJobId. To update the suspension state callUpdateJobSuspensionStateBuilder.activate()
orUpdateJobSuspensionStateBuilder.suspend()
.- Returns:
- the builder to update the suspension state
-
updateJobDefinitionSuspensionState
UpdateJobDefinitionSuspensionStateSelectBuilder updateJobDefinitionSuspensionState()
Activate or suspend job definitions using a fluent builder. Specify the job definitions by calling one of the by methods, like byJobDefinitionId. To update the suspension state callUpdateJobDefinitionSuspensionStateBuilder.activate()
orUpdateJobDefinitionSuspensionStateBuilder.suspend()
.- Returns:
- the builder to update the suspension state
-
setJobRetries
void setJobRetries(String jobId, int retries)
Sets the number of retries that a job has left. Whenever the JobExecutor fails to execute a job, this value is decremented. When it hits zero, the job is supposed to be dead and not retried again. In that case, this method can be used to increase the number of retries.- Parameters:
jobId
- id of the job to modify, cannot be null.retries
- number of retries.- Throws:
AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
and noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
and noProcessInstancePermissions.RETRY_JOB
permission onResources.PROCESS_INSTANCE
and noProcessDefinitionPermissions.RETRY_JOB
permission onResources.PROCESS_DEFINITION
.
-
setJobRetries
void setJobRetries(List<String> jobIds, int retries)
Sets the number of retries that jobs have left. Whenever the JobExecutor fails to execute a job, this value is decremented. When it hits zero, the job is supposed to be dead and not retried again. In that case, this method can be used to increase the number of retries.- Parameters:
jobIds
- ids of the jobs to modify, cannot be null.retries
- number of retries.- Throws:
BadUserRequestException
- if jobIds is nullAuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
and noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
and noPermissions#RETRY_JOB
permission onResources.PROCESS_INSTANCE
and noPermissions#RETRY_JOB
permission onResources.PROCESS_DEFINITION
.
-
setJobRetriesAsync
Batch setJobRetriesAsync(List<String> jobIds, int retries)
Sets the number of retries that jobs have left asynchronously. Whenever the JobExecutor fails to execute a job, this value is decremented. When it hits zero, the job is supposed to be dead and not retried again. In that case, this method can be used to increase the number of retries.- Parameters:
jobIds
- ids of the jobs to modify, cannot be null.retries
- number of retries.- Throws:
BadUserRequestException
- if jobIds is nullAuthorizationException
- If the user has noPermissions.CREATE
orBatchPermissions.CREATE_BATCH_SET_JOB_RETRIES
permission onResources.BATCH
.
-
setJobRetriesAsync
Batch setJobRetriesAsync(JobQuery jobQuery, int retries)
Sets the number of retries that jobs have left asynchronously. Whenever the JobExecutor fails to execute a job, this value is decremented. When it hits zero, the job is supposed to be dead and not retried again. In that case, this method can be used to increase the number of retries.- Parameters:
jobQuery
- query that identifies which jobs should be modified, cannot be null.retries
- number of retries.- Throws:
BadUserRequestException
- if jobQuery is nullAuthorizationException
- If the user has noPermissions.CREATE
orBatchPermissions.CREATE_BATCH_SET_JOB_RETRIES
permission onResources.BATCH
.
-
setJobRetriesAsync
Batch setJobRetriesAsync(List<String> jobIds, JobQuery jobQuery, int retries)
Sets the number of retries that jobs have left asynchronously. Whenever the JobExecutor fails to execute a job, this value is decremented. When it hits zero, the job is supposed to be dead and not retried again. In that case, this method can be used to increase the number of retries. Either jobIds or jobQuery has to be provided. If both are provided resulting list of affected jobs will contain jobs matching query as well as jobs defined in the list.- Parameters:
jobIds
- ids of the jobs to modify.jobQuery
- query that identifies which jobs should be modified.retries
- number of retries.- Throws:
BadUserRequestException
- if neither jobIds, nor jobQuery is provided or result in empty listAuthorizationException
- If the user has noPermissions.CREATE
orBatchPermissions.CREATE_BATCH_SET_JOB_RETRIES
permission onResources.BATCH
.
-
setJobRetriesAsync
Batch setJobRetriesAsync(List<String> processInstanceIds, ProcessInstanceQuery query, int retries)
Sets the number of retries that jobs have left asynchronously. Whenever the JobExecutor fails to execute a job, this value is decremented. When it hits zero, the job is supposed to be dead and not retried again. In that case, this method can be used to increase the number of retries. Either jobIds or jobQuery has to be provided. If both are provided resulting list of affected jobs will contain jobs matching query as well as jobs defined in the list.- Parameters:
processInstanceIds
- ids of the process instances that for which jobs retries will be setquery
- query that identifies process instances with jobs that have to be modifiedretries
- number of retries.- Throws:
AuthorizationException
- If the user has noPermissions.CREATE
orBatchPermissions.CREATE_BATCH_SET_JOB_RETRIES
permission onResources.BATCH
.
-
setJobRetriesAsync
Batch setJobRetriesAsync(List<String> processInstanceIds, ProcessInstanceQuery processInstanceQuery, HistoricProcessInstanceQuery historicProcessInstanceQuery, int retries)
Sets the number of retries that jobs have left asynchronously. Whenever the JobExecutor fails to execute a job, this value is decremented. When it hits zero, the job is supposed to be dead and not retried again. In that case, this method can be used to increase the number of retries. processInstanceIds, processInstanceQuery or historicProcessInstanceQuery has to be provided. If all are provided, resulting list of affected jobs will contain jobs related to the query as well as jobs related to instances in the list.- Parameters:
processInstanceIds
- ids of the process instances that for which jobs retries will be setprocessInstanceQuery
- query that identifies process instances with jobs that have to be modifiedhistoricProcessInstanceQuery
- historic query that identifies runtime process instances with jobs that have to be modifiedretries
- number of retries.- Throws:
AuthorizationException
- If the user has noPermissions.CREATE
orBatchPermissions.CREATE_BATCH_SET_JOB_RETRIES
permission onResources.BATCH
.
-
setJobRetriesByJobDefinitionId
void setJobRetriesByJobDefinitionId(String jobDefinitionId, int retries)
Set the number of retries of all failed
jobs
of the provided job definition id.Whenever the JobExecutor fails to execute a job, this value is decremented. When it hits zero, the job is supposed to be failed and not retried again. In that case, this method can be used to increase the number of retries.
Incidents
of the involved failedjobs
will not be resolved using this method! When the execution of a job was successful the corresponding incident will be resolved.- Parameters:
jobDefinitionId
- id of the job definition, cannot be null.retries
- number of retries.- Throws:
AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
and noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
and noPermissions#RETRY_JOB
permission onResources.PROCESS_INSTANCE
and noPermissions#RETRY_JOB
permission onResources.PROCESS_DEFINITION
.
-
setJobDuedate
void setJobDuedate(String jobId, Date newDuedate)
Sets a new due date for the provided id. When newDuedate is null, the job is executed with the next job executor run.- Parameters:
jobId
- id of job to modify, cannot be null.newDuedate
- new date for job execution- Throws:
AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
or noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
.
-
setJobDuedate
void setJobDuedate(String jobId, Date newDuedate, boolean cascade)
Sets a new due date for the provided id. The offset between the old and the new due date can be cascaded to all follow-up jobs. Cascading only works with timer jobs. When newDuedate is null, the job is executed with the next job executor run. In this case the cascade parameter is ignored.- Parameters:
jobId
- id of job to modify, cannot be null.newDuedate
- new date for job executioncascade
- indicate whether follow-up jobs should be affected- Throws:
AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
or noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
.
-
recalculateJobDuedate
void recalculateJobDuedate(String jobId, boolean creationDateBased)
Triggers the recalculation for the job with the provided id.- Parameters:
jobId
- id of job to recalculate, must neither be null nor empty.creationDateBased
- indicates whether the recalculation should be based on the creation date of the job or the current date- Throws:
AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.PROCESS_INSTANCE
or noPermissions.UPDATE_INSTANCE
permission onResources.PROCESS_DEFINITION
.
-
setJobPriority
void setJobPriority(String jobId, long priority)
Sets a new priority for the job with the provided id.- Parameters:
jobId
- the id of the job to modify, must not be nullpriority
- the job's new priority- Throws:
AuthorizationException
- thrown if the current user does not possess any of the following permissions- Since:
- 7.4
-
setOverridingJobPriorityForJobDefinition
void setOverridingJobPriorityForJobDefinition(String jobDefinitionId, long priority)
Sets an explicit priority for jobs of the given job definition. Jobs created after invoking this method receive the given priority. This setting overrides any setting specified in the BPMN 2.0 XML.
The overriding priority can be cleared by using the method
clearOverridingJobPriorityForJobDefinition(String)
.- Parameters:
jobDefinitionId
- the id of the job definition to set the priority forpriority
- the priority to set;- Throws:
AuthorizationException
- thrown if the current user does not possess any of the following permissions- Since:
- 7.4
-
setOverridingJobPriorityForJobDefinition
void setOverridingJobPriorityForJobDefinition(String jobDefinitionId, long priority, boolean cascade)
Sets an explicit default priority for jobs of the given job definition. Jobs created after invoking this method receive the given priority. This setting overrides any setting specified in the BPMN 2.0 XML.
If
cascade
is true, priorities of already existing jobs are updated accordingly.The overriding priority can be cleared by using the method
clearOverridingJobPriorityForJobDefinition(String)
.- Parameters:
jobDefinitionId
- the id of the job definition to set the priority forpriority
- the priority to setcascade
- if true, priorities of existing jobs of the given definition are changed as well- Throws:
AuthorizationException
- thrown if the current user does not possess If cascade istrue
, the user must further possess one of the following permissions:- Since:
- 7.4
-
clearOverridingJobPriorityForJobDefinition
void clearOverridingJobPriorityForJobDefinition(String jobDefinitionId)
Clears the job definition's overriding job priority if set. After invoking this method, new jobs of the given definition receive the priority as specified in the BPMN 2.0 XML or the global default priority.
Existing job instance priorities remain unchanged.
- Parameters:
jobDefinitionId
- the id of the job definition for which to clear the overriding priority- Throws:
AuthorizationException
- thrown if the current user does not possess any of the following permissions- Since:
- 7.4
-
getJobExceptionStacktrace
String getJobExceptionStacktrace(String jobId)
Returns the full stacktrace of the exception that occurs when the job with the given id was last executed. Returns null when the job has no exception stacktrace.- Parameters:
jobId
- id of the job, cannot be null.- Throws:
ProcessEngineException
- When no job exists with the given id.AuthorizationException
- If the user has noPermissions.READ
permission onResources.PROCESS_INSTANCE
or noPermissions.READ_INSTANCE
permission onResources.PROCESS_DEFINITION
.
-
getProperties
Map<String,String> getProperties()
- Returns:
- a map of all properties.
- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
setProperty
void setProperty(String name, String value)
Set the value for a property.- Parameters:
name
- the name of the property.value
- the new value for the property.- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
deleteProperty
void deleteProperty(String name)
Deletes a property by name. If the property does not exist, the request is ignored.- Parameters:
name
- the name of the property to delete- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
setLicenseKey
void setLicenseKey(String licenseKey)
Set the license key.- Parameters:
licenseKey
- the license key string.- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
getLicenseKey
String getLicenseKey()
Get the stored license key string ornull
if no license is set.- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
deleteLicenseKey
void deleteLicenseKey()
Deletes the stored license key. If no license key is set, the request is ignored.- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
databaseSchemaUpgrade
String databaseSchemaUpgrade(Connection connection, String catalog, String schema)
programmatic schema update on a given connection returning feedback about what happened Note: will always return an empty string- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
createProcessDefinitionStatisticsQuery
ProcessDefinitionStatisticsQuery createProcessDefinitionStatisticsQuery()
Query for the number of process instances aggregated by process definitions.
-
createDeploymentStatisticsQuery
DeploymentStatisticsQuery createDeploymentStatisticsQuery()
Query for the number of process instances aggregated by deployments.
-
createActivityStatisticsQuery
ActivityStatisticsQuery createActivityStatisticsQuery(String processDefinitionId)
Query for the number of activity instances aggregated by activities of a single process definition.- Throws:
AuthorizationException
- If the user has noPermissions.READ
permission onResources.PROCESS_DEFINITION
.
-
getRegisteredDeployments
Set<String> getRegisteredDeployments()
Get the deployments that are registered the engine's job executor. This set is only relevant, if the engine configuration propertyjobExecutorDeploymentAware
is set.- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
registerDeploymentForJobExecutor
void registerDeploymentForJobExecutor(String deploymentId)
Register a deployment for the engine's job executor. This is required, if the engine configuration propertyjobExecutorDeploymentAware
is set. If set to false, the job executor will execute any job.- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
unregisterDeploymentForJobExecutor
void unregisterDeploymentForJobExecutor(String deploymentId)
Unregister a deployment for the engine's job executor. If the engine configuration propertyjobExecutorDeploymentAware
is set, jobs for the given deployment will no longer get acquired.- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
getHistoryLevel
int getHistoryLevel()
Get the configured history level for the process engine.- Returns:
- the history level
- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
createMetricsQuery
MetricsQuery createMetricsQuery()
- Returns:
- a new metrics Query.
- Since:
- 7.3
-
deleteMetrics
void deleteMetrics(Date timestamp)
Deletes all metrics events which are older than the specified timestamp. If the timestamp is null, all metrics will be deleted- Parameters:
timestamp
- or null- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.- Since:
- 7.3
-
deleteMetrics
void deleteMetrics(Date timestamp, String reporter)
Deletes all metrics events which are older than the specified timestamp and reported by the given reporter. If a parameter is null, all metric events are matched in that regard.- Parameters:
timestamp
- or nullreporter
- or null- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.- Since:
- 7.4
-
reportDbMetricsNow
void reportDbMetricsNow()
Forces this engine to commit its pending collected metrics to the database.- Throws:
ProcessEngineException
- if metrics reporting is disabled or the db metrics reporter is deactivated
-
getUniqueTaskWorkerCount
long getUniqueTaskWorkerCount(Date startTime, Date endTime)
Calculates the number of unique task workers based on user task assignees.- Parameters:
startTime
- restrict to data collected after the given date (inclusive), can benull
endTime
- restrict to data collected before the given date (exclusive), can benull
- Returns:
- the aggregated number of unique task workers (may be restricted to a certain interval)
-
deleteTaskMetrics
void deleteTaskMetrics(Date timestamp)
Deletes all task metrics which are older than the specified timestamp. If the timestamp is null, all metrics will be deleted- Parameters:
timestamp
- ornull
- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
createBatchQuery
BatchQuery createBatchQuery()
Creates a query to search forBatch
instances.- Since:
- 7.5
-
suspendBatchById
void suspendBatchById(String batchId)
Suspends the
Batch
with the given id immediately.Note: All
JobDefinition
s andJob
s related to the provided batch will be suspended.- Throws:
BadUserRequestException
- If no such batch can be found.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.BATCH
.- Since:
- 7.5
-
activateBatchById
void activateBatchById(String batchId)
Activates the
Batch
with the given id immediately.Note: All
JobDefinition
s andJob
s related to the provided batch will be activated.- Throws:
BadUserRequestException
- If no such batch can be found.AuthorizationException
- If the user has noPermissions.UPDATE
permission onResources.BATCH
.- Since:
- 7.5
-
deleteBatch
void deleteBatch(String batchId, boolean cascade)
Deletes a batch instance and the corresponding job definitions. If cascade is set to true the historic batch instances and the historic jobs logs are also removed.- Throws:
AuthorizationException
- If the user has noPermissions.DELETE
permission onResources.BATCH
- Since:
- 7.5
-
createBatchStatisticsQuery
BatchStatisticsQuery createBatchStatisticsQuery()
Query for the statistics of the batch execution jobs of a batch.- Since:
- 7.5
-
createSchemaLogQuery
SchemaLogQuery createSchemaLogQuery()
Query for entries of the database schema log.- Since:
- 7.11
-
toggleTelemetry
void toggleTelemetry(boolean enabled)
Enable/disable sending telemetry data to Camunda- Throws:
AuthorizationException
- If the user is not a member of the groupGroups.CAMUNDA_ADMIN
.
-
isTelemetryEnabled
Boolean isTelemetryEnabled()
Checks how sending telemetry data to Camunda is configured- Returns:
null
if the configuration is not defined so far, treated asfalse
and no data is sent,true
if the telemetry sending is enabled, andfalse
if the telemetry is disabled explicitly.
-
-