Monitor the status updates by utilizing APEX.SERVER.PROCESS functionality

Environment: Oracle APEX v5.1.2 with Oracle 12c R2 Database

I have created a report based on the columns of a table named MY_TASK. The columns include:

TASK_ID (Primary Key),
TASK,
TASK_STATUS (from TASK_CHECKER.task_status)

In addition, I use another table called TASK_CHECKER as a running table to monitor the status of jobs related to TASK_ID numbers from the MY_TASK table. This table has the following columns:

TASK_ID (Primary Key),
TASK_STATUS

To handle this setup effectively, I have scheduled a job that regularly checks the status of another table for specific TASK_IDs and updates the TASK_STATUS value in the TASK_CHECKER table.

When users access the Oracle APEX application, I want to display the TASK_STATUS at the time within the MY_TASK report by joining the two tables together via TASK_ID using apex.server.process during startup.

It is important to note that the TASK_STATUS values can be: WAITING, IN-PROGRESS, SUCCESS, or FAILED.

For example, upon initial page load with 5 TASK_IDs running, the report might show:

1    TASK_A   SUCCESS
2    TASK_B   ERROR
3    TASK_C   IN-PROGRESS
4    TASK_D   WAITING
5    TASK_E   WAITING

And after about 10 seconds, it could update to:

1    TASK_A   SUCCESS
2    TASK_B   ERROR
3    TASK_C   SUCCESS
4    TASK_D   SUCCESS
5    TASK_E   IN-PROGRESS

The goal is to allow real-time updates of TASK_STATUS to reflect changes dynamically.

Answer №1

Upon further investigation, I have confirmed that the refresh function operates asynchronously, meaning it does not lock the screen. To utilize this feature, you can implement the following code snippet...

setInterval(function() {
  apex.region("region_static_id").refresh();
}, 5000);

It is imperative to ensure that the time interval (in milliseconds) is greater than the duration it takes for the region to execute the query and render the content.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Tips for preventing the initiation of a session on a specific Express route?

Currently, I rely on ExpressJS as my app framework and also utilize connect-memcached for managing sessions within Express. app.use( express.session({ secret: "blah blah", store: new MemcachedStore({ ... }) })); This setup has been very effective. Ho ...

Navigate to a new tab with a parameter in AngularJS

Is there a way to open a new tab using state.go with parameters? This is the state configuration: .state("view", { url: "/view", templateUrl: 'app/components/view/view.html', controller: 'viewController', params: { ...

Disconnected WebSocket in Node.js using Socket.io

Currently, I am encountering an issue. It involves a login page that leads to another page where my socket connection is disrupted. The goal I am striving for is: Within my server-side app.js app.post('/login', urlencodedParser, function(req, ...

When pasting Arabic text into an input box, the words in HTML appear to be jumbled and shuffled around

When I replicate this text يف عام and input it into a box, the output is shown as follows عام يف ...

An issue is preventing the Angular 2+ http service from making the requested call to the server

I am looking to create a model class that can access services in Angular. Let's say I have the following endpoints: /book/:id /book/:id/author I want to use a service called BooksService to retrieve a list of Book instances. These instances should ...

JavaScript: A step-by-step guide to extracting the file name and content from a base64 encoded CSV

I have a base64 string that was generated by encoding a csv file, const base64 = 'LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTExNDc2MDgwNjM5MTM4ODk4MTc2NTYwNA0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJmaWxlIjsgZmlsZW5hbWU9ImNoYXJ0T2ZBY2NvdW50LmNzd ...

Tips for enabling Angular JS draggable elements on tablet devices with touch functionality

I've been experimenting with an Angular JS draggable directive. The code I'm using closely resembles the one in this Plunker example. While everything runs smoothly on Windows when using a mouse, I've encountered issues with touch-enabled d ...

What is the best way to design an HTML page so that it changes its title daily?

I have a goal to change the site's title every day, but I am not an experienced programmer. I know that this can be done using JavaScript. I came across this idea: setInterval(function() { //change title //document.title = "Some new title"; ...

How can I dynamically change the orderBy parameter based on conditions in an Angular application?

I need to dynamically change the orderBy parameter in a table row based on the result of a method. Here is an example of my current tr setup - <tr class="pl" ng-repeat="thing in things | orderBy:'oldId':reverse" ng-class="{'row-error&apo ...

You have exceeded the maximum number of Facebook application requests allowed (#4)

My goal is to create a dynamic "social wall" on a website by pulling posts from a specific Facebook page using the Facebook API. Instead of utilizing any Facebook SDK, I am making cURL calls with the URLs directly. To fetch the posts, I rely on Javascript ...

Troubleshooting: EADDRNOTAVAIL issue encountered on Heroku Node.js server

After successfully creating a nodejs server on OpenShift, I am now embarking on a new project and attempting to replicate the same server on Heroku. Below is a snippet of the code for my server: var http = require('http'); var port = process.en ...

The function $.getJSON() seems to be non-responsive

I've been struggling to solve this issue for quite some time now. The users.json file that I am using can be found in the "JSON" folder alongside the other files. The alert("Before") is functioning properly, but I'm facing difficulty with getting ...

Why isn't the JavaScript if statement working properly when checking the length?

Below is an if statement that I have devised: var TotalMoney=0; var Orbs=0; if (TotalMoney.length==2) { Orbs+=1; } The intention behind this code snippet is to increase the value of "Orbs" by 1 when the digit length of "TotalMoney" equals 2. However, it& ...

Endless loop caused by Angular UI-router's promise resolving

I'm attempting to retrieve data from my SQLite database before loading a view using resolve when defining the state in ui-router. Currently, this is how I've set up the state: .state("menu", { templateUrl: "templates/menu.html", control ...

Navigating React: Learn the ins and outs of accessing and modifying state/attributes from a different component

Looking to update the attribute values of ComponentB from ComponentA (currently using an index). I attempted to call lower component functions to modify their state/values. import React from 'react' class TaskComp extends React.Component{ ...

showcasing JSON data in an HTML table with pure JavaScript

I am currently utilizing vanilla JS to send a client request to a REST web service that I have designed. The GET method I have implemented returns a list of books (List) in JSON format: 0: {name: "To Pimp a Butterfly", isbn: "ACBCDDSA", availableCopies: 1 ...

React and Express are incompatible due to the error message "TypeError: undefined is not a function

I am attempting to display the data from this array on my website using react and express: [{"LocationName":"LIBERTY DOGS","Address":"105 Greenwood Ave N, Seattle WA","Available":"Y"},{"LocationName":"FREEDOM DOGS","Address":"105 Greenwood Ave N, Seattle ...

The functionality of Jquery appears to be malfunctioning on the Drupal platform, although it performs

I've built a jQuery carousel that is fully functional when tested locally, but encounters issues when uploaded to a Drupal platform. Surprisingly, the jQuery functions properly when entered through the Console. Here's the jQuery code: carousel = ...

Problem with Jsdom retrieving document

I am struggling to utilize jsdom for loading a local HTML file. Here is the code snippet: var config = { file: "filename", scripts: ["node_modules/jquery/dist/jquery.min.js"], done: function(err, window){ con ...

The JavaScript function will only run after the user clicks the button twice

I attempted to create a button that toggles the visibility of a div element. Initially, I added the "onclick" event to the button and wrote this function: function showElement() { var element = document.querySelector('.blocks-fnd-div'); if ...