<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Job/Batch engine on sillysky.net</title>
    <link>https://sillysky.net/docs/nyssr/job-engine/</link>
    <description>Recent content in Job/Batch engine on sillysky.net</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Wed, 15 Oct 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://sillysky.net/docs/nyssr/job-engine/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CAbstractJob</title>
      <link>https://sillysky.net/docs/nyssr/job-engine/cabstractjob/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/job-engine/cabstractjob/</guid>
      <description>This abstract class handles the implementation of the IJob interface. Of course you can override methods.&#xA;The work starts with registering your job target in the target registry, and ends with deregistering from the target registry. The entry point is the message handler for the message CRecordStartTarget, which is the first message that the target receives from the system, see &amp;quot;How to start a simple target&amp;quot;.&#xA;A possible procedure for the implementation of your job target can be found in the tutorial &amp;quot;How to use the job engine for bulk tasks&amp;quot;.</description>
    </item>
    <item>
      <title>IJob</title>
      <link>https://sillysky.net/docs/nyssr/job-engine/ijob/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/job-engine/ijob/</guid>
      <description>A job is a target that implements this interface. This is usually not done by yourself: there is an abstract class CAbstractJob, which takes over this task. You can then focus on implementing your task. The work starts with registering your job target in the target registry, and ends with deregistering from the target registry. The entry point is the message handler for the message CRecordStartTarget, which is the first message that the target receives from the system, see &amp;quot;How to start a simple target&amp;quot;.</description>
    </item>
    <item>
      <title>IJobEngine</title>
      <link>https://sillysky.net/docs/nyssr/job-engine/ijobengine/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/job-engine/ijobengine/</guid>
      <description>The Job Engine executes jobs in multiple threads simultaneously. It is created by the Job Engine factory.&#xA;Get a job engine The job engine is available via the job engine factory. This in turn is a singleton, which is obtained via the service registry.&#xA;final IJobEngineFactory factory = CServiceRegistry.getInstance() .getService(IJobEngineFactory.class); final IJobEngine engine = factory.createEngine(&#34;MyEngine&#34;); As always, the package starter should have a dependency on the job engine factory to make sure it is already initialized.</description>
    </item>
    <item>
      <title>IJobEngineFactory</title>
      <link>https://sillysky.net/docs/nyssr/job-engine/ijobenginefactory/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/job-engine/ijobenginefactory/</guid>
      <description>The job engine factory is a local service of the kernel. It creates job engines that are responsible for executing jobs.&#xA;Get the job engine factory The factory is fetched as a singleton from the service registry:&#xA;final IJobEngineFactory factory = CServiceRegistry.getInstance() .getService(IJobEngineFactory.class); As always, make sure that the service starter of your package has a dependency on the IJobEngineFactory to ensure that the factory already exists.&#xA;Creating a job engine The job engine factory has a single method for generating job engines.</description>
    </item>
    <item>
      <title>IJobThread</title>
      <link>https://sillysky.net/docs/nyssr/job-engine/ijobthread/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/job-engine/ijobthread/</guid>
      <description>IJobThread is an internal class of the job engine.&#xA;It provides information about the jobs currently working in its thread.&#xA;Jobs can also signal the end of their work here.&#xA;Getter Returns the name of the thread.&#xA;String getName(); Returns the priority of the thread.&#xA;EThreadPriority getPriority(); Returns the maximum number of jobs working simultaneously in this thread.&#xA;int getMaxConcurrentJobs(); Returns the number of jobs currently working in this thread.</description>
    </item>
    <item>
      <title>EJobStatus</title>
      <link>https://sillysky.net/docs/nyssr/job-engine/ejobstatus/</link>
      <pubDate>Mon, 17 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/job-engine/ejobstatus/</guid>
      <description>The status of a job describes its current processing state.&#xA;DETACHED (Not yet registered in the job engine) WAITING (Registered in the job engine, but still in the queue) RUNNING (The job is executed) STOPPED (The job is canceled or finished) </description>
    </item>
  </channel>
</rss>
