Yellowfin Clustering and Background Tasks

Jan Bothmann shared this idea 2 years ago
Not Planned

As stated in the Documentation:


Each Yellowfin node will be configured by default to run background tasks, which includes the

broadcasting of reports. This potentially could send reports multiple times to end users. Because

of this it is recommended that background tasks be enabled on one node only.


Disable the background system tasks by removing (or commenting-out) the following XML block

from the web.xml. This will disable system tasks, like Group Flattening, LDAP synchronization,

Event Archiving, Document Cleanup and Average Run time calculations.

<servlet>
    <servlet-name>SystemTaskManager</servlet-name>
    <servlet-class>com.hof.servlet.SystemTaskManager</servlet-class>
    <load-on-startup>8</load-on-startup>
</servlet>
Disable the task scheduler by adding the following to the web.xml file, inside the MIStartup Servlet

block. This will disable all tasks visible in the Task Schedule menu within the Yellowfin interface. This

includes broadcasting, populating cached filters, scheduled reports and populating cached views.


<init-param>
    <param-name>DisableTaskScheduler</param-name>
    <param-value>TRUE</param-value>
</init-param> 

Question:


Could it in any way be a feasible solution, to initially have them disabled, store all these settings in the

configuration database and manage them from the frontend. I have on numerous occasions broadcastet reports multiple

times when upgrading and testing.


Best regards


Jan Bothmann

Comments (2)

photo
1

Hi Jan,


I hear you on this, we constantly have to do this when running our tests.

There are a few ways to disable scheduled tasks, depending on what you want you may want to stick to the web.xml.

It's essentially like this;

  • Want to disable all tasks at a node level?
    Use the web.xml as you've already read bout.
  • Want to disable all tasks across the entire environment?
    -You can use the web.xml again.
    -You can also flag the tasks not to run via the DB via the TaskSchedule table. There is a column 'ScheduleIsOn' , which can be changed to 0, which will stop the schedule from running.
    The only thing with this is that you need to be extremely aware of what you're disabling, and know which ones you need to turn back on posts tests
    -You can also pause tasks via Schedule Management itself, though this is something you can only access after logging in.


Hope the above helps, and please let me know if I'm missing anything.


Regards,

David

photo
1

Hi David,


Thanks for the answer,

Just thought it would be nice for the Software responsible to be able to manage the solution without needing the server team to configure the web.xml manually.


Best regards,


Jan

photo
1

Hi Jan,


I hear ya, though these tasks are usually handled by system admins as we're talking about migrating/configuring environments.

Though if we get more of a demand we can revisit.


Thanks for the feedback!


Regards,

David

photo