Hi Josias, concerning your questions: If you use a schedule, then you do not use file watching. This means the workflow will start only when scheduled. If you use file watching, then you do not use schedules as orders are created automatically from incoming files. Definitely not. In addition it creates overhead from unsuccessful polling when no files are present. File watching is the preferred approach for near real-time triggering of workflows. If you want to limit execution of the related workflow...
Hi Josisa, concerning your questions: If you use a schedule, then you do not use file watching. This means the workflow will start only when scheduled. If you use file watching, then you do not use schedules as orders are created automatically from incoming files. Definitely not. In addition it creates overhead from unsuccessful polling when no files are present. File watching is the preferred approach for near real-time triggering of workflows. If you want to limit execution of the related workflow...
Hi Josias, for starters, please check the difference between cyclic workflows and cyclic orders. Your use case suggests use of a cyclic workflow from the Cycle Instruction that offers specifying the following repeat intervals: Periodical: for irregular intervals, for example, minute 1, 5, 12, 27 of each hour. Continuous: for a pause between executions. This is what your use case is about. Ticking: for a fixed interval between executions. The Cycle Instruction specifies the begin of period. You therefore...
Hello, I am working with JS7 JobScheduler and I have a question regarding file monitoring and scheduling. My use case is the following: I have a workflow that monitors a directory and processes files when they arrive I want this workflow to run only within a specific time window (for example from 08:00 to 16:00) Before implementing the scheduling, I would like to better understand the behavior and the best approach. My questions are: If I use a schedule with a repetition interval (for example every...
Hello, I am currently working with JS7 JobScheduler and I have a scheduling requirement that I am not sure how to implement. My use case is the following: I have a workflow that runs with an irregular execution time I would like to trigger the next execution 10 minutes after the previous execution has finished Example: First run starts at 07:00 and finishes at 07:03 → next run should start at 07:13 If a run finishes at 07:38 → next run should start at 07:48 What I tried: Using a schedule with a repetition...
Hi Josias, while we consider your questions instructive for other users too, the forum is not a replacement for the docs. Requirements indicate two constraint levels: a) dependencies request that W2 is never started without W1 being completed; b) time constraints request that W2 will start not earlier than 05:30 if an order arrives at an earlier point in time; W2 will not run the same day if an order arrives after 05:30. Straightforward solution using conditional execution In W1 conditionally adding...
Hello, I am currently working with JS7 JobScheduler and I have a scheduling use case that I am not sure how to implement properly. My scenario is the following: Workflow W1 is scheduled daily at 20:00 Its execution duration is variable and it can finish at different times (for example before or after 05:30) Workflow W2 depends on the results of W1 and should run only after W1 has completed The requirement for W2 is: It should not start before 05:30 If W1 finishes before 05:30 → W2 should start at...
Hi Josias, it will be helpful understanding how execution dates are calculated: first, the calendar delivers the days, then the restriction from the schedule is applied. If your calendar holds excluded frequencies, for example weekends and national holidays, then they will not be included with the list of days delivered. If later on the schedule's restrictions are applied, it counts the 16th day from the list of days delivered by the calendar. To achieve what you are looking for proceed like this:...
Hello, I am facing an issue with scheduling in JS7 JobScheduler and I would like to clarify if my configuration is correct or if I am missing something. My requirement is the following: Execute a workflow on the 1st and the 16th of each month If any of these dates falls on a weekend or public holiday, then execution should be shifted to the next working day What I configured: A "BusinessDays" calendar (Mon–Fri + public holidays excluded) A schedule with: Restriction: Month Days = 1,16 Period: start...
Hi Daniel, we need precise wording. When you say the "workflow finished at 2:18am", does this mean that the related order in the Daily Plan view was in finished state? If you observed a job being completed at the given time, then this is not the same story as the order being completed and leaving the workflow. You can identify from the Daily Plan view: check if you find more than one order for the given workflow. If the original order finished at 2:18am, then it cannot be re-animated. I would rather...
Hi Andreas, Well, the affected workflow was scheduled to run in the morning at 2am. It finished at 2:18am successfully. No other executions are planned for today. The release of the calendar happend at around 10am and the workflow started again. Can you give me some other hints how to track down what happened here?
Hi, thank you very much for your detailed explanation. I implemented your solution and it works perfectly. The combination of the BusinessDays calendar with the "after non-working day" option is exactly what I needed. This will definitely help for similar scheduling scenarios. Thanks again for your support! Best regards
Hi Josias, you can proceed like this: create a "BusinessDays" calendar using the included frequency Mon-Fri, see attached calendar-included-frequencies.png excluded frequencies Sat-Sun and optionally some national holidays, see attached calendar-excluded-frequencies for your workflow create a schedule that looks as from the attached schedule-run-time.png: assign the "BusinessDays" calendar add a "Restriction" specifing the "Month Days" frequency type using 1st of month for execution of orders, see...
Hello, I am currently working with JS7 JobScheduler and I would like to implement a scheduling use case with the following requirement: A job (or workflow) should run on the 1st day of each month However, if the 1st falls on a weekend or a public holiday, then the execution should be automatically shifted to the next working day I am aware that JS7 provides features such as: Calendars (including non-working days / holidays) Scheduling options Workflow logic and conditions However, I am not sure what...
Hi Daniel, a workflow is triggered by an order. A schedule can hold one or more start times that will be represented by separate orders. In other words, you can have more than one order in the Daily Plan for a given workflow. Applying the release operation on late orders, implies that orders from today's Daily Plan will be renewed if they did not start and therefore are late or if they started late (past the scheduled start time) and are not in finished state. It's hard to guess what order states...
Hi, I can confirm that it's fixed in 2.8.3 now. Thank you! Daniel
Dear all, we are using JS7 2.8.3 and just re-released an existing calendar and checked the box for "Include today's late Orders". Suddenly, we saw a workflow triggered again that ran successfully some hours ago. This was not what we expected. Could you please give us some background information, why and when an already finished workflow (running only once a day in the morning) is restarted? Best regards, Daniel
JS7 JobScheduler LTS Release 2.8.3 available
Hi Andreas, thank you for your feedback. It worked for me. Thank you.
Hi Nassem, you are most probably hit by JOC-2161: Release of any releaseable Object should work without errors Please, consider the workaround for release 2.8.2 mentioned with above issue. The fix becomes available with release 2.8.3 that ships later in the day.
Hi, new user of JS7, when I try to create Calendars and Schedules, I have the following error : java.lang.NullPointerException . I can't release existing calendars or schedules due to the same error. I have 2 jockpits and 2 controllers. Primary jockpit status is operational and cluster node is active. Secondary jockpit status is operational and cluster node is standby. Primary controller status is operational and cluster node is active. Secondary controller status is operational and cluster node...
Thank you very much for your help. The agent is working now. I found the cause of this incorrect configuration. In the Windows setup program for the agent, in step 6 of 12, you can select the checkbox "Installation as standby node for a cluster (requires commercial license)." That was the case for me. I think this option should not be selectable if you specified "GBU GPL v3.0 License" in step 2 of 12.
Hi Marcos, thank you, log output confirms the problem that is addressed with the issue JOC-2183: Incompatible dependencies raise NullPointerException The workaround is indicated with the issue, the fix will become available with release 2.8.3. Best regards Andreas
Hello Andreas, Thank you very much for your reply. I followed the procedures you sent me, and the error has been resolved. This was a lifesaver! I am forwarding three JOC log files for your analysis. Please let me know if you need any further information or additional steps. Best regards,
Hello Andreas, Thank you very much for your reply. I followed the procedures you sent me, and the error has been resolved. This was a lifesaver! I am forwarding three JOC log files for your analysis. Please let me know if you need any further information or additional steps. Best regards, Marcos A. Malfatti Analista de Tecnologia da Informação Coordenação de Infraestrutura de Tecnologia da Informação DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO - PROGETI INSTITUTO FEDERAL CATARINENSE Fone: (47) 3331-7846...
NullPointerException
Hi Marcos, please, forward the log output that you received when the error occurs. We are particularly interested in the stacktrace created from the NullPointerException. As an immediate measure, proceed as follows: Shutdown JOC Cockpit and delete all records in table INV_DEPENDENCIES. Start JOC Cockpit. In the Inventory view, use the 3-dots action menu of the root folder and perform the operation "update dependencies". It might take a few minutes to re-create dependencies, time consumption is related...
NullPointerException
You are right, the docs are wrong. We changed the docs to indicate that this is a must.
Hi John, check your Agent's <agent-data>/config/agent.conf file if it holds the entry js7.journal.cluster.node.is-backup=yes If available, remove the setting. It makes an Agent the default standby node in an Agent Cluster. When using installer scripts such as js7_install_agent.sh (Install-JS7Agent.ps1) then the related command line switch that will create the setting is --Standby. After removal delete the <agent-data>/state directory as it persists the Agent's standby role. The directory will be...
Thank you for the fast response, that helped. I misunderstood the documentation where it reads that "Users CAN set up JS7 - Job Resources for use with File Transfer." - so thought this is optionally ... Best regards, Daniel
I have installed an agent. I do not intend to run it in a cluster (I do not have a commercial license). However, the log shows that it is a cluster 2026-03-18T16:06:48,234 info js7.cluster.ClusterNode - Backup cluster Node:Backup, awaiting appointment from a primary node How can I configure it for standalone operation?
I will move to the "Help" section.
I will move to the "Help" section.
Hi Daniel, I wouldn't say that you were doing wrong. Maybe you were just missing the step to assign the File Transfer configuration a Job Resource. Find details from https://kb.sos-berlin.com/display/JS7/JS7+-+File+Transfer+Deployment
Hello all, I wanted to test the File Transfer features in JS7 2.8.2, but fail already on deploying it: I've created a simple configuration, which is also marked as valid - but as "not deployed". But: clicking on "Deploy" changes nothing. I do not get any error message in the UI and no further hint in the joc.log. Also new "empty" configurations cannot be deployed. What am I doing wrong? Best regards Daniel
Alright, i forget to slide this toolbar to sedd what was available >_< manage to do what i wanted. but case-when should be align side by side, instead of following, would be easier to visually understand, dk if the visual alignment can be changed for this
Hi Chico, if I get it right, the intended logic is designed like this: * job1 * Case When: return code == 0 then job2 * Case When: return code == 1 then job3 * Case Else: prompt * job4 Find attached the example of a workflow implementing the above flow (consider adjusting Agent assignments to jobs). For details how to use the example see JS7 - How to upload .json examples Consider the following hints: job1 is configured to ignore return codes (exit codes), see attached screenshot. The job is always...
Hi Chico, if I get it right, the intended logic is designed like this: * job1 * Case When: return code == 0 then job2 * Case When: return code == 1 then job3 * Case Else: prompt * job4 Find attached the example of a workflow implementing the above flow (consider adjusting Agent assignments to jobs). For details how to use the example see JS7 - How to upload .json examples Consider the following hints: job1 is configured to ignore return codes (exit codes), see attached screenshot. The job is always...
Hi Chico, if I get it right, the intended logic is designed like this: * job1 * Case When: return code == 0 then job2 * Case When: returncode == 1 then job3 * Case Else: prompt * job4 Find attached the example of a workflow implementing the above flow (consider adjusting Agent assignments to jobs). For details how to use the example see JS7 - How to upload .json examples Consider the following hints: job1 is configured to ignore return codes (exit codes), see attached screenshot. The job is always...
Hi John, there are two prominent root causes for the issue: You are trying to operate an Agent Cluster with the Open Souce License Clustering is not in scope of the Open Source License, see JS7 - License. The same will apply if you own a commercial license, but did not deploy the license key to the Primary and Secondary Director Agent. Check both Director Agent's ./logs/watchdog.log if it includes the information that a commercial license was identified. When using a commercial license and setting...
Maybe you can help me. I'm using version 2.8.2. The agents stopped running in my environment. So I deleted all the journales. That didn't help. I then deleted the controller in JOC Cockpit. I added the controller again. I added the agent and deployed it. The agent remains in the “initialized” status. The controller is "operational" Agent Log 2026-03-18T16:06:44,982 info js7.base.configutils.Configs - Reading configuration file C:\ProgramData\sos-berlin.com\js7\agent_4435\config\private\private.conf...
Hi Is it possible in JS7 to make 2 path in case or returne code from a job ? to explain Job1 end in CR 0 > job 2 end in CR 1 > job 3 end in other CR > prompt job 4, only launch if job 2 or job 3 are CR 0, or prompt confirmed.
Hi Is it possible in JS7 to make 2 path in case or returne code from a job ? to explain Job1 end in CR 0 > job 2 end in CR 1 > job 3 end in other CR > prompt job 4, only launch if job 2 or job 3 are CR 0, or prompt confirmed.
Hello Santiago, thank you for the hint - I was now able to release objects again in our upgraded 2.8.2 instance. Best regards Daniel
Hello Daniel, I can now confirm that the problem is definitely related to dependencies determined with a 2.7.x version after upgrading to 2.8.2. We have revisited the workaround 2 : "Update Dependencies" and found that while all still existing items are properly updated, other entries, e.g. dependencies related to already removed items haven´t been cleaned up properly, still linger in the dependencies table of the database and block the process for all other items, too. I can also confirm now an...
Hello Andreas that looks great ! thanks
Maybe it's not immediately evident. Create a Non-working Day Calendar as from the attached calendar.png screenshot that specifies every Second Tuesday of Month. Create a Schedule that makes use of an All Days Working Day Calendar (365 days) and that adds the above Non-working Day Calendar adds a restriction for Second Tuesday of Month adds a rule for execution on non-working days: "after non-working day" to its period See attached screenshots.
This is fixed.
Hello I am having a problem with the change.sos-berlin.com website. When I open it and select release 2.8.3, I get the following message: Project in (YADE, JITL, JS, JOC, “SET – Setups”, 10590) AND fixVersion = 2.8.3 ORDER BY Project DESC, issuetype ASC, priority DESC I have to remove 10590 to see the current list.
Hello I am having a problem with the change.sos-berlin.com website. When I open it and select release 2.8.3, I get the following message: Project in (YADE, JITL, JS, JOC, “SET – Setups”, 10590) AND fixVersion = 2.8.3 ORDER BY Project DESC, issuetype ASC, priority DESC I have to remove 10590 to see the current list.
Hello I am having a problem with the change.sos-berlin.com website. When I open it and select release 2.8.3, I get the following message: Project in (YADE, JITL, JS, JOC, “SET – Setups”, 10590) AND fixVersion = 2.8.3 ORDER BY Project DESC, issuetype ASC, priority DESC I have to remove 10590 to see the current list.
hello, I'm trying to schedule a workflow the day after the second tuesday of the month. The easy way to do this ( every second wednesday of the month) works great except when the 1st of the month is wednesday. How can i acheve thiswithout using 'specific days' functionality ? Romulf
Hi Chico, I cannot identify any reason to assume that the behavior is related to the JS7 Agent. If your job calls an external .ksh script, then there is no caching mechanism in place with the Agent. In fact, the job script is cached in the Agent's <agent-data>/work/scripts directory as the job script has not been changed. The Agent will start a new process and will run sh -c <agent-data>/work/scripts/job-script.sh Please, check if you find a caching mechanism from the file system. If an order is...
This occurred once before in v2.7.2. We are now on v2.8.1. Is there a specific operation that would contribute to this. Some workflows were updated and deployed the day prior. What would cause the daily planner to create orders at the same time the following day? If you need more information on this matter please let me know what log I can provide I did notice database collation errors coming from the JOC however I do not believe this is a direct contributor to this issues. I have found similar errors...
Hello all, I would like to set up roles and permissions, that everyone in the company can read all workflows, resources, templates etc. but can only edit objects in a particular team folder within the inventory. I was able to set up a role so they were able to see their own workflows. And a role that provides read-only access to all folders. But when I combine them, the users can also edit in other trees in the inventory. Could someone please give me some hints how I have to model the roles? Best...
Hi while i was testing a job chain, i experience something i cannot work around. My chain consist of several job, running on a linux server. Jobs are shell job, running on the agent, and shell just call external .ksh script on the server. while i was testing, i experience some error from my ksh script. so job was on error, got the log, fix my script, relaunch, and ... still same error. looks like the Ksh is load in sort of temporary file and the same file is executed again. the only way i found to...
A controller state file reset fixed Everything. What likely occurred? 2.7.1 to 2.8.1 . Upgraded DB from pgsql 10 to 16.
v2.8.1
Why am I getting an error that the daily plan is closed?
added reports_1.jpg
JJS7 - Reports "NO DATA AVAILABLE"
Hello Daniel, unfortunately there is not much you can do. The stacktrace you posted is sufficient as it points to the specific occurence of this error. The bug is already fixed for the next release 2.8.3 due end of Febuary. Please check the Jira Issue for updates in case we provide a patch for 2.8.2 before the release of 2.8.3. Currently i am checking if a patch release for this is possible as the occurence of this bug is hard to reproduce and does only occur in specific circumstances when some old...
Hello Santiago, can you recommend some logging options to get more insights with logging options? I've already tried some settings but the results did not help a lot. Or, what would you need so you are able to reproduce it? Best regards, Daniel
Hello Daniel, Thank you for reporting this and sharing the details. We have reproduced the problem in JS7 version 2.8.1 and created a JIRA ticket to track it: JOC-2164 – https://change.sos-berlin.com/browse/JOC-2164 The workaround has been documented in the JIRA ticket. Thank you for the information. Kind regards, Rahul
Hello all, Using JS7 2.81, I tried to add a Markdown file as documentation as described in the manual. I am able to link it and open it from "Workflows" view and I see the Markdown file is rendered as HTML including the default CSS - but unfortunately the generated HTML code is shown as source code (embedded in <pre> tags). How can I switch off this behaviour so I can get the page rendered properly? Source code of the page: <html><head><meta name="color-scheme" content="light dark"></head><body><pre...
Yeah figure this out later i could do this, fogot the EOF kind of way as i'm only lauching already existing ksh script, i did a sudo su - <user> -c "/path/to/script.ksh" and it works fine as well thanks.
alright i thought echo "DATE_TRT=${date_trt}" >> ${JS7_RETURN_VALUES} meant i create en JS7 env var named DATE_TRT with the value incide the $date_trt from the script. checked this, but still got the error of temporary file i can't find how to solve running the jobs without sudo su - worked fine, the 2 job get the value from job 1 but, i have to run the job in specific user env, so i have to keep the sudo su - dsi << EOF before executing, and that cause the temp file error. only got this error to...
Hello Santiago, Thank you for your response. Unfortunately, this did not help: I've faced the same problem when using the "None" option. I've also tried "Update Dependencies" - no effect. I've tried it with a completely new object (a script include without any dependencies) - same result. Any other hints how to determine the reason? Best regards, Daniel