<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Stroom – job</title>
    <link>/tags/job/</link>
    <description>Recent content in job on Stroom</description>
    <generator>Hugo -- gohugo.io</generator>
    <lastBuildDate>Thu, 25 Apr 2024 00:00:00 +0000</lastBuildDate>
    
	  <atom:link href="/tags/job/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: Background Jobs</title>
      <link>/docs/reference-section/jobs/</link>
      <pubDate>Tue, 27 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>/docs/reference-section/jobs/</guid>
      <description>
        
        
        &lt;p&gt;The jobs in the list are in the order they appear in the Stroom UI.&lt;/p&gt;
&lt;h2 id=&#34;data-delete&#34;&gt;Data Delete&lt;/h2&gt;
&lt;p&gt;Before data is physically removed from the database and file system it is marked as logically deleted by adding a flag to the metadata record in the database.
Data can be logically deleted by a user from the UI or via a process such as data retention.
Data is deleted logically as it is faster to do than a physical delete (important in the UI), and it also allows for data to be restored (undeleted) from the UI.
This job performs the actual physical deletion of data that has been marked logically deleted for longer than the duration configured with &lt;code&gt;stroom.data.store.deletePurgeAge&lt;/code&gt;.
All data files associated with a metadata record are deleted from the file system before the metadata is physically removed from the database.&lt;/p&gt;
&lt;h2 id=&#34;data-processor&#34;&gt;Data Processor&lt;/h2&gt;
&lt;p&gt;Processes data by finding data that matches processing filters on each pipeline.
When enabled, each worker node asks the master node for data processing tasks.
The master node creates tasks based on processing filters added to the &lt;code&gt;Processors&lt;/code&gt; screen of each pipeline and supplies them to the requesting workers.&lt;/p&gt;
&lt;h2 id=&#34;node-status&#34;&gt;Node Status&lt;/h2&gt;
&lt;p&gt;How frequently we try to write stats about node status including JVM and memory usage.&lt;/p&gt;
&lt;h2 id=&#34;processor-task-creator&#34;&gt;Processor Task Creator&lt;/h2&gt;
&lt;p&gt;Create Processor Tasks from Processor Filters.&lt;/p&gt;
&lt;h2 id=&#34;query-history-clean&#34;&gt;Query History Clean&lt;/h2&gt;
&lt;p&gt;How frequently items in the query history are removed from the history if their age is older than &lt;code&gt;stroom.history.daysRetention&lt;/code&gt; or if the number of items in the history exceeds &lt;code&gt;stroom.history.itemsRetention&lt;/code&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;account-maintenance&#34;&gt;Account Maintenance&lt;/h2&gt;
&lt;p&gt;This job checks user accounts on the system and de-activates them under the following conditions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An unused account that has been inactive for longer than the age configured by &lt;code&gt;stroom.security.identity.passwordPolicy.neverUsedAccountDeactivationThreshold&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;An account that has been inactive for longer than the age configured by &lt;code&gt;stroom.security.identity.passwordPolicy.unusedAccountDeactivationThreshold&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;analytic-executor-scheduled-query&#34;&gt;Analytic Executor: Scheduled Query&lt;/h2&gt;
&lt;p&gt;Run scheduled index query analytics periodically&lt;/p&gt;
&lt;h2 id=&#34;analytic-executor-table-builder&#34;&gt;Analytic Executor: Table Builder&lt;/h2&gt;
&lt;p&gt;Analytic Executor: Table Builder&lt;/p&gt;
&lt;h2 id=&#34;attribute-value-data-retention&#34;&gt;Attribute Value Data Retention&lt;/h2&gt;
&lt;p&gt;Deletes Meta attribute values (additional and less valuable metadata) older than &lt;code&gt;stroom.data.meta.metaValue.deleteAge&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;elastic-index-retention&#34;&gt;Elastic Index Retention&lt;/h2&gt;
&lt;p&gt;Logically delete indexed documents in Elasticsearch indexes based on the specified deletion query.&lt;/p&gt;
&lt;h2 id=&#34;file-system-volume-status&#34;&gt;File System Volume Status&lt;/h2&gt;
&lt;p&gt;Scans your data volumes to ensure they are available and determines how much free space they have.
Records this status in the Volume Status table.&lt;/p&gt;
&lt;h2 id=&#34;index-shard-delete&#34;&gt;Index Shard Delete&lt;/h2&gt;
&lt;p&gt;How frequently index shards that have been logically deleted are physically deleted from the file system.&lt;/p&gt;
&lt;h2 id=&#34;index-shard-retention&#34;&gt;Index Shard Retention&lt;/h2&gt;
&lt;p&gt;How frequently index shards that are older than their retention period are logically deleted.&lt;/p&gt;
&lt;h2 id=&#34;index-volume-status&#34;&gt;Index Volume Status&lt;/h2&gt;
&lt;p&gt;Scans your index volumes to ensure they are available and determines how much free space they have.
Records this status in the Index Volume Status table.&lt;/p&gt;
&lt;h2 id=&#34;index-writer-cache-sweep&#34;&gt;Index Writer Cache Sweep&lt;/h2&gt;
&lt;p&gt;How frequently entries in the Index Shard Writer cache are evicted based on the time-to-live, time-to-idle and cache size settings.&lt;/p&gt;
&lt;h2 id=&#34;index-writer-flush&#34;&gt;Index Writer Flush&lt;/h2&gt;
&lt;p&gt;How frequently in-memory changes to the index shards are flushed to the file system and committed to the index.&lt;/p&gt;
&lt;h2 id=&#34;java-heap-histogram-statistics&#34;&gt;Java Heap Histogram Statistics&lt;/h2&gt;
&lt;p&gt;How frequently heap histogram statistics will be captured.
This can be useful for diagnosing issues or seeing where memory is being used.
Each run will result in a JVM pause so care should be taken when running this on a production system.&lt;/p&gt;
&lt;h2 id=&#34;orphan-file-finder&#34;&gt;Orphan File Finder&lt;/h2&gt;
&lt;p&gt;Job to find files that do not exist in the meta store.&lt;/p&gt;
&lt;h2 id=&#34;orphan-meta-finder&#34;&gt;Orphan Meta Finder&lt;/h2&gt;
&lt;p&gt;Job to find items in the meta store that have no associated data.&lt;/p&gt;
&lt;h2 id=&#34;pipeline-destination-roll&#34;&gt;Pipeline Destination Roll&lt;/h2&gt;
&lt;p&gt;How frequently rolling pipeline destinations, e.g. a Rolling File Appender are checked to see if they need to be rolled.
This frequency should be at least as short as the most frequent rolling frequency.&lt;/p&gt;
&lt;h2 id=&#34;policy-based-data-retention&#34;&gt;Policy Based Data Retention&lt;/h2&gt;
&lt;p&gt;Run the policy based data retention rules over the data and logically delete any data that should no longer be retained.&lt;/p&gt;
&lt;h2 id=&#34;processor-task-manager-disown-dead-tasks&#34;&gt;Processor Task Manager Disown Dead Tasks&lt;/h2&gt;
&lt;p&gt;Tasks that seem to be stuck processing due to the death of a processing node are disowned and added back to the task queue for processing after &lt;code&gt;stroom.processor.disownDeadTasksAfter&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;processor-task-manager-release-old-queued-tasks&#34;&gt;Processor Task Manager Release Old Queued Tasks&lt;/h2&gt;
&lt;p&gt;Release queued tasks from old master nodes.&lt;/p&gt;
&lt;h2 id=&#34;processor-task-queue-statistics&#34;&gt;Processor Task Queue Statistics&lt;/h2&gt;
&lt;p&gt;How frequently statistics about the state of the stream processing task queue are captured.&lt;/p&gt;
&lt;h2 id=&#34;processor-task-retention&#34;&gt;Processor Task Retention&lt;/h2&gt;
&lt;p&gt;This job is responsible for cleaning up redundant processors, tasks and filters.
If it is not run then these will build up on the system consuming space in the database.&lt;/p&gt;
&lt;p&gt;This job relies on the property &lt;code&gt;stroom.processor.deleteAge&lt;/code&gt; to govern what is deemed &lt;em&gt;old&lt;/em&gt;.
The &lt;code&gt;deleteAge&lt;/code&gt; is used to derive the delete threshold, i.e. the current time minus &lt;code&gt;deleteAge&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When the job runs it executes the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Logically Delete Processor Tasks&lt;/strong&gt; - Logically delete all processor tasks belonging to processor filters that have been logically deleted.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Logically Delete Processor Filters&lt;/strong&gt; - Logically delete old processor filters with a state of &lt;code&gt;COMPLETE&lt;/code&gt; and no associated tasks.
Filters are considered old if the last poll time is less than the delete threshold.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Physically Delete Processor Tasks&lt;/strong&gt; - Physically delete all old processor tasks with a status of &lt;code&gt;COMPLETE&lt;/code&gt; or &lt;code&gt;DELETED&lt;/code&gt;.
Tasks are considered old if they have no status time or the status time (the time the status was last changed) is less than the delete threshold.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Physically Delete Processor Filters&lt;/strong&gt; - Physically delete all old processor filters that have already been logically deleted.
Filters are considered old if the last update time is less than the delete threshold.
A filter can be logically deleted either by the step above or explicitly by a user in the user interface.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Physically Delete Processors&lt;/strong&gt; - Physically delete all old processors that have already been logically deleted.
Processors are considered old if the last update time is less than the delete threshold.
A processor can only be logically deleted by the user in the user interface.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Therefore for items not deleted by a user, there will be a delay equal to &lt;code&gt;deleteAge&lt;/code&gt; before logical deletion, then another delay equal to &lt;code&gt;deleteAge&lt;/code&gt; before final physical deletion.&lt;/p&gt;
&lt;h2 id=&#34;property-cache-reload&#34;&gt;Property Cache Reload&lt;/h2&gt;
&lt;p&gt;Stroom&amp;rsquo;s configuration properties can each be configured globally in the database.
This job controls the frequency that each node refreshes the values of its properties cache from the global database values.
See also &lt;a href=&#34;../../docs/user-guide/properties/&#34;&gt;Properties&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;ref-data-off-heap-store-purge&#34;&gt;Ref Data Off-heap Store Purge&lt;/h2&gt;
&lt;p&gt;Purges all data older than the purge age defined by property &lt;code&gt;stroom.pipeline.purgeAge&lt;/code&gt;.
See also &lt;a href=&#34;../../docs/user-guide/pipelines/reference-data/#purging-old-reference-data&#34;&gt;Reference Data&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;sql-stats-database-aggregation&#34;&gt;SQL Stats Database Aggregation&lt;/h2&gt;
&lt;p&gt;This job controls the frequency that the database statistics aggregation process is run.
This process takes the entries in &lt;code&gt;SQL_STAT_VAL_SRC&lt;/code&gt; and merges them into the main statistics tables &lt;code&gt;SQL_STAT_KEY&lt;/code&gt; and &lt;code&gt;SQL_STAT_KEY&lt;/code&gt;.
As this process is reliant on data flushed by the &lt;em&gt;SQL Stats In Memory Flush&lt;/em&gt; job it is advisable to schedule it to run after that, leaving some time for the in-memory flush to finish.&lt;/p&gt;
&lt;h2 id=&#34;sql-stats-in-memory-flush&#34;&gt;SQL Stats In Memory Flush&lt;/h2&gt;
&lt;p&gt;SQL Statistics are initially held and aggregated in memory.
This job controls the frequency that the in memory statistics are flushed from the in memory buffer to the staging table &lt;code&gt;SQL_STAT_VAL_SRC&lt;/code&gt; in the database.&lt;/p&gt;
&lt;h2 id=&#34;solr-index-optimise&#34;&gt;Solr Index Optimise&lt;/h2&gt;
&lt;p&gt;How frequently Solr index segments are explicitly optimised by merging them into one.&lt;/p&gt;
&lt;h2 id=&#34;solr-index-retention&#34;&gt;Solr Index Retention&lt;/h2&gt;
&lt;p&gt;How frequently a process is run to delete items from the Solr indexes that don&amp;rsquo;t meet the retention rule of that index.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Scheduler</title>
      <link>/docs/user-guide/jobs/scheduler/</link>
      <pubDate>Thu, 25 Apr 2024 00:00:00 +0000</pubDate>
      
      <guid>/docs/user-guide/jobs/scheduler/</guid>
      <description>
        
        
        &lt;p&gt;Stroom has two main types of schedule, a simple frequency schedule that runs the job at a fixed time interval or a more complex &lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/c/glossary-cron&#34;&gt;
      &lt;span&gt;Cron&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;Cron&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;&lt;em&gt;Cron&lt;/em&gt; is a command line utility found on most linux/unix systems that is used for scheduling background tasks. Cron expressions (or variants of them) are widely used in other schedulers.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; schedule.&lt;/p&gt;

&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;



    &lt;p&gt;This scheduler and its syntax are also used for Analytic Rules &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
&lt;span class=&#34;face&#34; title=&#34;Analytic rule&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__orange)&#34; d=&#34;M1333 566q18 20 7 44l-540 1157q-13 25-42 25-4 0-14-2-17-5-25.5-19t-4.5-30l197-808-406 101q-4 1-12 1-18 0-31-11-18-15-13-39l201-825q4-14 16-23t28-9h328q19 0 32 12.5t13 29.5q0 8-5 18l-171 463 396-98q8-2 12-2 19 0 34 15z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
&lt;/span&gt;.&lt;/p&gt;


&lt;/div&gt;


&lt;h2 id=&#34;frequency-schedules&#34;&gt;Frequency Schedules&lt;/h2&gt;
&lt;p&gt;A frequency schedule is expressed as a fixed time interval.
The frequency schedule expression syntax is stroom&amp;rsquo;s standard duration syntax and takes the form of a value followed by an optional unit suffix, e.g. &lt;code&gt;10m&lt;/code&gt; for ten minutes.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Prefix&lt;/th&gt;
&lt;th&gt;Time Unit&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;milliseconds&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ms&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;milliseconds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;s&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;seconds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;m&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;minutes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;h&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;hours&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;days&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;cron-schedules&#34;&gt;Cron Schedules&lt;/h2&gt;
&lt;p&gt;&lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/c/glossary-cron&#34;&gt;
      &lt;span&gt;Cron&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;Cron&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;&lt;em&gt;Cron&lt;/em&gt; is a command line utility found on most linux/unix systems that is used for scheduling background tasks. Cron expressions (or variants of them) are widely used in other schedulers.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; is a syntax for expressing schedules.&lt;/p&gt;
&lt;p&gt;For full details of cron expressions see &lt;a href=&#34;../../docs/reference-section/cron/&#34;&gt;Cron Syntax&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Stroom uses a scheduler called Quartz which supports cron expressions for scheduling.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Task Management</title>
      <link>/docs/howtos/general/taskshowto/</link>
      <pubDate>Fri, 09 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>/docs/howtos/general/taskshowto/</guid>
      <description>
        
        
        &lt;p&gt;Various
&lt;a href=&#34;../../docs/reference-section/jobs/&#34;&gt;Tasks&lt;/a&gt;
run in the background within Stroom. This HOWTO demonstrates how to manage these tasks&lt;/p&gt;
&lt;h2 id=&#34;assumptions&#34;&gt;Assumptions&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;All Sections
&lt;ul&gt;
&lt;li&gt;an account with the &lt;code&gt;Administrator&lt;/code&gt; &lt;a href=&#34;../../docs/user-guide/security/app-permissions/&#34;&gt;Application Permission&lt;/a&gt; is currently logged in.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Proxy Aggregation Tasks
&lt;ul&gt;
&lt;li&gt;we have a multi node Stroom cluster with two nodes, &lt;code&gt;stroomp00&lt;/code&gt; and &lt;code&gt;stroomp01&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Stream Processor Tasks
&lt;ul&gt;
&lt;li&gt;we have a multi node Stroom cluster with two nodes, &lt;code&gt;stroomp00&lt;/code&gt; and &lt;code&gt;stroomp01&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;when demonstrating adding a new node to an existing cluster, the new node is &lt;code&gt;stroomp02&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;proxy-aggregation&#34;&gt;Proxy Aggregation&lt;/h2&gt;
&lt;h2 id=&#34;turn-off-proxy-aggregation&#34;&gt;Turn Off Proxy Aggregation&lt;/h2&gt;
&lt;p&gt;We first select the &lt;code&gt;Monitoring&lt;/code&gt; item of the &lt;strong&gt;Main Menu&lt;/strong&gt; to bring up the &lt;code&gt;Monitoring&lt;/code&gt; sub-menu.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-MonitoringSubmenu-00.png&#34; href=&#34;../../images/HOWTOs/UI-MonitoringSubmenu-00.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-MonitoringSubmenu-00.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-MonitoringSubmenu-00.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Monitoring sub-menu&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Then move down and select the &lt;code&gt;Jobs&lt;/code&gt; sub-item to be presented with the &lt;code&gt;Jobs&lt;/code&gt; configuration tab as seen below.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-JobsTab-00.png&#34; href=&#34;../../images/HOWTOs/UI-JobsTab-00.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-JobsTab-00.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-JobsTab-00.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Jobs Management - management tab&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;At this point, we can select the &lt;code&gt;Proxy Aggregation&lt;/code&gt; &lt;em&gt;Job&lt;/em&gt; whose check-box is selected and the tab will show the individual Stroom Processor nodes
in the deployment.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-ProxyAggregation-00.png&#34; href=&#34;../../images/HOWTOs/UI-ProxyAggregation-00.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-ProxyAggregation-00.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-ProxyAggregation-00.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Jobs Management - Proxy Aggregation Job&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;At this point, uncheck the &lt;code&gt;Enabled&lt;/code&gt; check-boxes for both nodes and also the main Proxy Aggregation check-box to see.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-ProxyAggregation-01.png&#34; href=&#34;../../images/HOWTOs/UI-ProxyAggregation-01.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-ProxyAggregation-01.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-ProxyAggregation-01.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Jobs Management - Proxy Aggregation Job Off&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;At this point, no new proxy aggregation will occur and any inbound files received by the Store Proxies will accumulate in the proxy storage area.&lt;/p&gt;
&lt;h3 id=&#34;turn-on-proxy-aggregation&#34;&gt;Turn On Proxy Aggregation&lt;/h3&gt;
&lt;p&gt;We first select the &lt;code&gt;Monitoring&lt;/code&gt; item of the &lt;strong&gt;Main Menu&lt;/strong&gt; to bring up the &lt;code&gt;Monitoring&lt;/code&gt; sub-menu.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-MonitoringSubmenu-00.png&#34; href=&#34;../../images/HOWTOs/UI-MonitoringSubmenu-00.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-MonitoringSubmenu-00.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-MonitoringSubmenu-00.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Monitoring sub-menu&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Then move down and select the &lt;code&gt;Jobs&lt;/code&gt; sub-item then select the &lt;code&gt;Proxy Aggregation&lt;/code&gt; &lt;em&gt;Job&lt;/em&gt; to be presented with the &lt;code&gt;Jobs&lt;/code&gt; configuration tab as seen below.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-ProxyAggregation-01.png&#34; href=&#34;../../images/HOWTOs/UI-ProxyAggregation-01.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-ProxyAggregation-01.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-ProxyAggregation-01.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Jobs Management - Proxy Aggregation Job Off&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Now, re-enable each node&amp;rsquo;s &lt;code&gt;Proxy Aggregation&lt;/code&gt; check-box and the main &lt;code&gt;Proxy Aggregation&lt;/code&gt; check-box.&lt;/p&gt;
&lt;p&gt;After checking the check-boxes, perform a refresh of the display by pressing the &lt;em&gt;Refresh&lt;/em&gt; icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Refresh&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;on the top right of the lower (node display) pane. You should note the &lt;code&gt;Last Executed&lt;/code&gt; date/time change to see&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-TestProxyAggregation-00.png&#34; href=&#34;../../images/HOWTOs/UI-TestProxyAggregation-00.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-TestProxyAggregation-00.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-TestProxyAggregation-00.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Test Feed - Re-enable Proxy Aggregation&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;h2 id=&#34;stream-processors&#34;&gt;Stream Processors&lt;/h2&gt;
&lt;h3 id=&#34;enable-stream-processors&#34;&gt;Enable Stream Processors&lt;/h3&gt;
&lt;p&gt;To enable the &lt;code&gt;Stream Processors&lt;/code&gt; task, move to the &lt;code&gt;Monitoring&lt;/code&gt; item of the &lt;strong&gt;Main Menu&lt;/strong&gt; and select it to bring up the &lt;code&gt;Monitoring&lt;/code&gt; sub-menu.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-MonitoringSubmenu-00.png&#34; href=&#34;../../images/HOWTOs/UI-MonitoringSubmenu-00.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-MonitoringSubmenu-00.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-MonitoringSubmenu-00.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Monitoring sub-menu&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Then move down and select the &lt;code&gt;Jobs&lt;/code&gt; sub-item to be presented with the &lt;code&gt;Jobs&lt;/code&gt; configuration tab as seen below.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-NodeProcessors-00.png&#34; href=&#34;../../images/HOWTOs/UI-NodeProcessors-00.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-NodeProcessors-00.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-NodeProcessors-00.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Jobs Management - management tab&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;At this point, we select the &lt;code&gt;Stream Processor&lt;/code&gt; &lt;em&gt;Job&lt;/em&gt; whose check-box is not selected and the tab will show the individual Stroom Processor
nodes in the Stroom deployment.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-NodeProcessors-01.png&#34; href=&#34;../../images/HOWTOs/UI-NodeProcessors-01.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-NodeProcessors-01.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-NodeProcessors-01.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Jobs Management - Stream Processor&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Clearly, if it was a single node Stroom deployment, you would only see the one node at the bottom of the &lt;code&gt;Jobs&lt;/code&gt; configuration tab.&lt;/p&gt;
&lt;p&gt;We enable nodes by selecting their check-boxes as well as the main &lt;code&gt;Stream Processors&lt;/code&gt; check-box. Do so.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-NodeProcessors-02.png&#34; href=&#34;../../images/HOWTOs/UI-NodeProcessors-02.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-NodeProcessors-02.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-NodeProcessors-02.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Jobs Management - Stream Processor enabled&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;That is it. Stroom will automatically take note of these changes and internally start each node&amp;rsquo;s Stroom Processor task.&lt;/p&gt;
&lt;h3 id=&#34;enable-stream-processors-on-new-node&#34;&gt;Enable Stream Processors On New Node&lt;/h3&gt;
&lt;p&gt;When one expands a Multi Node Stroom cluster deployment, after the installation of the Stroom Proxy and Application software and
services on the new node, we need to enable its &lt;code&gt;Stream Processors&lt;/code&gt; task.&lt;/p&gt;
&lt;p&gt;To enable the &lt;code&gt;Stream Processors&lt;/code&gt; for this new node, move to the &lt;code&gt;Monitoring&lt;/code&gt; item of the &lt;strong&gt;Main Menu&lt;/strong&gt; and select it to bring up the &lt;code&gt;Monitoring&lt;/code&gt; sub-menu.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-MonitoringSubmenu-00.png&#34; href=&#34;../../images/HOWTOs/UI-MonitoringSubmenu-00.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-MonitoringSubmenu-00.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-MonitoringSubmenu-00.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Monitoring sub-menu&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Then move down and select the &lt;code&gt;Jobs&lt;/code&gt; sub-item to be presented with the &lt;code&gt;Jobs&lt;/code&gt; configuration tab as seen below.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-NodeProcessors-00.png&#34; href=&#34;../../images/HOWTOs/UI-NodeProcessors-00.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-NodeProcessors-00.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-NodeProcessors-00.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Jobs Management - management tab&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;At this point, we select the &lt;code&gt;Stream Processor&lt;/code&gt; &lt;em&gt;Job&lt;/em&gt; whose check-box is selected&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-NewNodeProcessors-00.png&#34; href=&#34;../../images/HOWTOs/UI-NewNodeProcessors-00.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-NewNodeProcessors-00.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-NewNodeProcessors-00.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Jobs Management - Stream Processor new node&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We enable the new node by selecting its check-box.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-NewNodeProcessors-01.png&#34; href=&#34;../../images/HOWTOs/UI-NewNodeProcessors-01.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-NewNodeProcessors-01.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-NewNodeProcessors-01.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Jobs Management - Stream Processor enabled on new node&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;


      </description>
    </item>
    
  </channel>
</rss>
