![]() ![]() Inside the code of the server process, call any of the methods Transaction_SYS.Set_Progress_Info or Transaction_SYS.Log_Progress_Info. These texts will be displayed when monitoring the Background Jobs in Solution Manager. This can be done in two ways, either as a progress information text attribute on the background job or as a list of status info updates. It is possible to specify progress information for the current job. It is recommended to use method Language_SYS.Translate_Constant to enable language support. Use a proper description that makes it easier for the end-user to understand the purpose of the job instead of using the technical interface used in the business logic layer. This description is also included in the monitoring forms over background jobs. It is possible to specify a description of a job when initiating it through the method Transaction_SYS.Deferred_Call. You can also move one or several steps forward without setting a new progress information using Transaction_SYS.Log_Progress_Longop. Each time the progress information is updated, the progress takes one step forward (or to a requested step). ![]() Besides setting this value when the job is posted, it can be done by calling Transaction_SYS.Update_Total_Work at the beginning of the process as well. Also, an estimate of remaining time is constantly updated in view V$SESSION_LONGOPS. If the total amount of steps to process is set on the job, it is possible to follow the progress while it is running. The default value is however 'FALSE' for backward compatibility reasons. It is recommended to specify the job to be language independent, i.e. Further, optional arguments, to Transaction_SYS.Deferred_Call are a describing text, which queue the job should be executed in, if the job is language independent or not and the total of number of steps to process. attribute string) to the running procedure. In the simplest case, you only need to specify the procedure to run and the argument (e.g. To post a background job, use the Transaction_SYS.Deferred_Call method. This shows an example of a method that is designed as a background job: ![]() Commit and rollback statements needs to be annotated. Handling of transactions is easily done by adding Commit and Rollback statements to the code if needed. The transaction is normally taken care of by the client, but in this case the background job process is acting as the client. Transactions ¶īackground jobs are developed exactly the same way as any other method but you need to take care of the transaction handling. After you have registered a task you can create a Scheduled Background Job. The Scheduled Background Jobs differ in such a way that you need to register these methods as Tasks in IFS Solution Manager in order to execute them. Foundation1 supports this by separate execution queues and services in Transaction_SYS. ![]() If the business application contains several batch-oriented services such as handling of thousands of invoices or orders, it may be suitable to run some services in the background without keeping the user interface busy while it is processing. Read more about the concept in Foundation1 Overview Manual. Normally a background job is executed as soon as the database process is ready to execute it, but background jobs can also be scheduled to be executed on a specific schedule, these background jobs are called Scheduled Background Jobs.īackground jobs are managed by the interfaces in Transaction_SYS system service. Usually the client take care of the transactions, but the background job acts as the client and is able to perform the transaction handling. A Background Job is a method that can be started in the background. ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |