Profile Suspensions
Suspension Versus Inactivation
An active profile can be suspended at runtime. The goal is to temporarily prevent the profile from starting new jobs, while it can still receive data. However, this only applies to suspended profiles with event-driven Input Agents. Suspended profiles with time-driven Input Agents do not fetch any data. An inactive profile, on the other hand, does never fetch any data.
An example of when to use the suspension of profiles is the following scenario. A profile uses an FTP Response Route to transfer data to an FTP server. The FTP server is unavailable at certain times due to maintenance. Without the possibility of suspending the profile, two approaches are possible.
The profile is set to inactive for the duration of the unavailability of the FTP server. This solution has the disadvantage that the profile does not receive any data during this time and therefore data may be lost.
If no data is to be lost, the profile is not deactivated, in the hope that few or no jobs will be started during the unavailability of the FTP server. This solution has the disadvantage that all jobs that are started during the non-availability of the FTP server run into an error and then have to be restarted manually.
By suspending the profile for the duration of the unavailability of the FTP server, you achieve that the data is still accepted by Lobster_data and is processed automatically after the expiration of the suspension. As already mentioned, a suspended profile, in contrast to an inactive profile, still accepts incoming data. A job is created, but it is not started. Instead, it is sent to the queue for suspended jobs. This queue can contain any number of jobs. It is possible to delete individual jobs from this queue. The jobs removed from the queue can be restarted at any time. As soon as the suspension of a profile is undone, all jobs belonging to this profile that are currently in the queue are started. Note: Suspended profiles with Input Agent AMQP and JMS do not accept data. See note there.
Errors Caused by Suspended Profiles
If a suspended profile is executed, the following constellations lead to an error.
The following checkbox is set in the settings for the profile: Error when profile is called in suspended state.
The profile is called by another profile via a Response Route of type Message and message type Synchronous.
Suspending and Unsuspending with Functions
A profile can be suspended by using the suspend profile(a) function within the mapping. The job in which the function is called will terminate with an error because the job cannot be completed. See function un/suspend profile(a,b,c) if you do not want to create an exception or if you want to unsuspend a profile.
Alternatively, a profile can be suspended manually. In the same way, a suspension can also be undone.
Editing Suspended Profile
As long as a profile is suspended, it cannot be edited.