JobScheduler is able to login to MSSQL database using domain account, but JOC cannot. JOC can only login by local account. The main and report database are put in the same database. Both master and JOC are using the same hibernate config xml. Config xml: <?xml version="1.0" encoding="UTF-8"?> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property> <property name="hibernate.connection.password"></property> <property...
For JobScheduler master server, is there any function that the server sends notification when failover happens? (primary server down and then secondary up)
Jobchain is triggered by file watching once the file appears in the watching folder. However, when the file is still being locked for writing, the jobchain is triggered and the imcomplete file is transferred. Any solution for the case?
Typo: It should be job chain. e.g. There are two JobScheduler agent servers (agent1 and agent2). My objective is to set the same file watcher and job chain (one set of job chain configuration files) for agent1 and agent2 respectively. The job chain triggered by agent1 should execute the job chain on agent1 and the same as agent2.
Any update for my question?
Can I set multiple agent servers in one process class, so that the join chain can be triggered by multiple agents and the jobs can be executed by the triggering agent?
Is there any existing jobchain which can be used to archive/delete jobchain history over certain days e.g. 60 days?
I set some environment variables in jobscheduler_environment_variables.cmd. How can I get the variables in job shell script? (not in powershell script)
Where can I insert powershell command or script so that it can be executed when JobScheduler starts?
Any update for my question?
Can the file order source function detects the files in all the subfolder recursively, instead of setting the folder paths one by one?
Apart from javax.script:ecmascript, can I use powershell script to set and pass the varaibles to other jobs?
Apart from javax.script:ecmascript, can I use shell script to set and pass the varaibles to other jobs?
I set some environment variables in ./user_bin/jobscheduler_environment_variables.cmd How can I get the variables in the job java script? The following java script is not working: <?xml version="1.0" encoding="ISO-8859-1"?> <job order="yes" stop_on_error="no"> <params /> <script language="javax.script:ecmascript"> <![CDATA[ function spooler_process() { spooler_log.info("Test msg: " + spooler_task.order().params().value("TestMsg")); return true; } ]]> </script> <run_time /> </job>
Any update on this issue?
The jobchain had an error when I followed the solution you provided. A text file which contained some test messages was transferred to the ftps server. However, the target file was empty (0 byte) in the ftps server. The jobchain is attached and the following is the error log: 2017-11-06 14:38:28.656+0800 [info] (Task test/File Transfer by Agent:5871) [stdout] JobSchedulerLog4JAppender (system.out): 2017-11-06 14:37:13,714 +0800 [DEBUG] com.sos.VirtualFileSystem.DataElements.SOSVfsConnectionFactory...
The jobchain had an error when I user the solution you provided. A text file which contained some test messages was transferred to the ftps server. However, the target file was empty in the ftps server. The jobchain is attached and the following is the error: 2017-11-06 14:38:28.656+0800 [info] (Task test/File Transfer by Agent:5871) [stdout] JobSchedulerLog4JAppender (system.out): 2017-11-06 14:37:13,714 +0800 [DEBUG] com.sos.VirtualFileSystem.DataElements.SOSVfsConnectionFactory - create connection...
The jobchain had an error when I user the solution you provided. A text file which contained some test messages was transferred to the ftps server. However, the target file was empty in the ftps server. The jobchain is attached and the following is the error: 2017-11-06 14:38:28.656+0800 [info] (Task SCS_SWIFT/test/File Transfer by Agent:5871) [stdout] JobSchedulerLog4JAppender (system.out): 2017-11-06 14:37:13,714 +0800 [DEBUG] com.sos.VirtualFileSystem.DataElements.SOSVfsConnectionFactory - create...
Since there is a certificate implemented in my FTPS server, how can I transfer a file to the FTPS server using that certificate? Is there a parameter pointing to the cert path?
The JobScheduler failover from primary to secondary needs around 2-3mins. Is there any conguration that I can modify the failover time?
Can I use enviroment variables, which are defined in jobscheduler_environment_variables.cmd, in process class? e.g. <?xml version="1.0" encoding="ISO-8859-1"?> <process_class max_processes="10" remote_scheduler="http://${FTPHost}:21"/>
In server C, there is an external system which will read the file in the pending folder. The external system will move the file from pending folder to either success folder or error folder, depending on the execution result of the external system. The JobScheduler should determine whether the job is suceed or fail based on the existence of the file in success folder or error folder. Thus, I created a loop (step 5 and 6) to check the folders one by one.
Hi Andreas, Any update on this?
I tried solution 1: Put global environment variables to a ./user_bin/jobscheduler_environment_variables.cmd. It worked for the jobs in the master side, but the environment variables could not pass to the job in the agent side. Is there any addition config or trick to pass the environment varibles to agent jobs?
I tried solution 1: Put global environment variables to a ./user_bin/jobscheduler_environment_variables.cmd. It worked for the jobs in the master side, but the environmental variables could not pass to the job in the agent side. Is there any addition config or trick to pass the environmental varibles to agent jobs?
I don't mean file sink but the file existence checking after file transfer through SFTP. The system in the destination server will move the file either to the "success" folder or "error" folder when the file arrives. The config is attached.
I'm not talking about file sink but the file existence checking after file transfer through SFTP. The system in the destination server will move the file either to the "success" folder or "error" folder when the file arrives. The config is attached.
I'm not talking about file sink but the file existence checking after file transfer through SFTP. The config is attached.
I am using sos.scheduler.file.JobSchedulerExistsFile to check the existence of a file in two folders, "success" and "error". If the file exists in "success" folder, the job chain will move to "success" node and if it exists in "error" folder, then move to "error" node. These two nodes keep looping because they are pointing to each other if the jobs fail. However, I cannot find a way to quit the loop. Is there any way to quit the loop between two jobs, or any other solution for my situation?
The fail-over machanism worked when I killed the process or clicked the "Abort" button in JOC, but it did not trigger the backup JobScheduler when I tried to shutdown the whole server. Is it the expected behaviour?
The fail-over machanism worked when I killed the process or clicked the "Abort" button in JOC, but it did not trigger the backup JobScheduler when I tried to shutdown the server. Is it the expected behaviour?
And it is not working for multiple emails. Like below: <log_mail_to ><![CDATA[test@gmail.com;test2@gmail.com;test3@gmail.com]]></log_mail_to>
After updating JobScheduler from 1.11.2 to 1.11.4, I realized that if I remained the email list in job config blank, the job could not send email based on the email list from factory.ini. Instead, I need to put the email list in the job config like below in order to receive error email. Why is it? <?xml version="1.0" encoding="ISO-8859-1"?> <job order="yes" stop_on_error="no" title="Send Error Email"> <settings > <mail_on_error ><![CDATA[yes]]></mail_on_error> <mail_on_success ><![CDATA[yes]]></mail_on_success>...
https://kb.sos-berlin.com/display/PKB/Cluster+Operation According to the above page, the backup cluster can be activated only when the primary service crash, but not teminated normally. Why is that and how can the backup cluster be activated whenever the primary service stops?
JOC cannot show the number of pending, set back, running jobs in job summary page (first page after login) when backup cluster is activated. The same thing happens in job chain page.
If I want to put some parameters in a global config xml files, how can I read that xml and pass the parameters to my jobs? example xml: <?xml version="1.0"?> <Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Configs> <Config> <Name>InputFolderPath</Name> <Value>\\server\Input</Value> </Config> <Config> <Name>OutputFolderPath</Name> <Value>\\server\Output</Value> </Config> </Configs> </Root>
What is the parameter of the certificate path when I use sos.scheduler.jade.JadeJob for FTPS file transfer?
For agent process, can I use parameters for the host name or can I centralize the agent process file so that I don't need to put the duplicated file in all the job folders?
Can I use parameter in the path of file watching and file sink?
After upgrading JobScheduler master and agent from v1.11.2 to v1.11.4, an error always appears in the agent job. But after some retries (setback), it can randomly process successfully. Log 2017-08-14 08:55:05.607+0800 [ERROR] (Task Check file in success folder:835) COM-80020009 com.sos.scheduler.engine.minicom.types.COMException: COM-80020009 MSWIN-0000007A The data area passed to a system call is too small. [WideCharToMultiByte] (Calling Spooler.Log::log), method=call Agent process xml <?xml version="1.0"...
After upgrading JobScheduler master and agent from v1.11.2 to v1.11.4, an error always appears in the agent job. But after some retries (setback), it can randomly process successfully. Log 2017-08-14 08:55:05.607+0800 [ERROR] (Task SCS_SWIFT/OutgoingToSWIFT_MT_BatchAuto/Check file in success folder:835) COM-80020009 com.sos.scheduler.engine.minicom.types.COMException: COM-80020009 MSWIN-0000007A The data area passed to a system call is too small. [WideCharToMultiByte] (Calling Spooler.Log::log),...
After upgrading JobScheduler master and agent from v1.11.2 to v1.11.4, an error always appears in the agent job. But after some retries (setback), it can randomly process successfully. Log 2017-08-14 08:55:05.607+0800 [ERROR] (Task SCS_SWIFT/OutgoingToSWIFT_MT_BatchAuto/Check file in success folder:835) COM-80020009 com.sos.scheduler.engine.minicom.types.COMException: COM-80020009 MSWIN-0000007A The data area passed to a system call is too small. [WideCharToMultiByte] (Calling Spooler.Log::log),...
After upgrading JobScheduler master and agent from v1.11.2 to v1.11.4, the error always appears in the agent job. But after some retries (setback), it can randomly process successfully. Log 2017-08-14 08:55:05.607+0800 [ERROR] (Task SCS_SWIFT/OutgoingToSWIFT_MT_BatchAuto/Check file in success folder:835) COM-80020009 com.sos.scheduler.engine.minicom.types.COMException: COM-80020009 MSWIN-0000007A The data area passed to a system call is too small. [WideCharToMultiByte] (Calling Spooler.Log::log),...
Also JOE and JOC.
And also JOE and JOC.
And also JOC.
All v1.11.4 agent download links are not working.
I would like to receive email when the whole job chain is failed, but now the notificaiton is sent when each single job during setback. How to set the configuration to achive that goal?
Problem solved. .Net framework 4.0 is needed.
I am facing this error and below is the log. I cannot find C:\Windows\TEMP\dotnet601267730440170796\jni4net.n.w64.v20-0.8.8.0.dll, but there is a file jni4net.n.w64.v40-0.8.8.0.dll. Why the application is pointing to v20 not v40? Log: Can't initialize jni4net BridgeCan't load library: C:\Windows\TEMP\dotnet601267730440170796\jni4net.n.w64.v20-0.8.8.0.dll Can't initialize jni4net BridgeCan't load library: C:\Windows\TEMP\dotnet601267730440170796\jni4net.n.w64.v20-0.8.8.0.dll com.google.inject.CreationException:...
Can the history page filter the list by excluding jobs instead of including jobs?
Whether jobschedueler supports windows server 2016?
Can I use windows domain account as the login account of JOC?
How about factory.ini? There is a connection string in this file.
Can I not include the username and password in the config file but refer to the service account due to security issue?
Instead of hardcoding the username and password in the config file, is there any way to use the domain account?
I would like to access the job scheduler database using windows domain account. How can I do that?
When I put some files, e.g. 100 files, in a file watching folder, JobScheduler will process 2 to 3 files simutaneously. If I need JobScheduler to process all the files at the same time, is it possible by setting number of threads? p.s. I already got license.
The parameter in job chain worked fine in master but could not pass to agent. Is it a bug or a feature? Job config: <?xml version="1.0" encoding="ISO-8859-1"?> <job title="Check file in success folder" order="yes" stop_on_error="no"> <description > <include file="jobs/JSExistFile.xml"/> </description> <script language="java" java_class="sos.scheduler.file.JobSchedulerExistsFile"/> <monitor name="configuration_monitor" ordering="0"> <script java_class="com.sos.jitl.jobchainnodeparameter.monitor.JobchainNodeSubstituteMonitor"...
I tried your solution and it worked fine for the first run of that job (the one with parameter and ran in agent) in the job chain. However, when I used setback for that job, the parameter could not pass to agent again for the second run and so on.
I tried your solution and it worked fine for the first run of that job (the one with parameter and ran in agent) in the job chain. However, when I used setback for that job, the parameter could not pass to agent again for the second time and so on.
I tried your solution and it worked fine for the first run of that job (the one with parameter and ran in agent) in the job chain. However, when I used setback for that job, the parameter could not pass to agent again.
After purchasing the license, I can submit support ticket. Is there any limitation on the number of support ticket? e.g. Only 100 tokens per year
I could not call SOAP by JobSchedulerHttpPostJob? By reading the source code, it seems only Content-type but no SOAPAction is inserted in the HTTP request header. Is it a bug or a feature? Output with error is shown after calling SOAP web service: <?xml version="1.0"?> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <s:Fault> <faultcode xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">a:ActionNotSupported</faultcode> <faultstring xml:lang="en-US">The message...
I could not call SOAP by JobSchedulerHttpPostJob? Is it a bug or a feature? By reading the source code, it seems only Content-type but no SOAPAction is inserted in the HTTP request header. Output with error is shown after calling SOAP web service: <?xml version="1.0"?> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <s:Fault> <faultcode xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">a:ActionNotSupported</faultcode> <faultstring xml:lang="en-US">The message...
The parameter in job chain worked fine in master but could not pass to agent. Is it a bug or a feature? Job config: <?xml version="1.0" encoding="ISO-8859-1"?> <job title="Check file in success folder" order="yes" stop_on_error="no"> <description > <include file="jobs/JSExistFile.xml"/> </description> <script language="java" java_class="sos.scheduler.file.JobSchedulerExistsFile"/> <monitor name="configuration_monitor" ordering="0"> <script java_class="com.sos.jitl.jobchainnodeparameter.monitor.JobchainNodeSubstituteMonitor"...
The parameter in job chain worked fine in master but could not pass to agent. Is it a bug or a feature? Job config: <?xml version="1.0" encoding="ISO-8859-1"?> <job title="Check file in success folder" order="yes" stop_on_error="no"> <description > <include file="jobs/JSExistFile.xml"/> </description> <script language="java" java_class="sos.scheduler.file.JobSchedulerExistsFile"/> <monitor name="configuration_monitor" ordering="0"> <script java_class="com.sos.jitl.jobchainnodeparameter.monitor.JobchainNodeSubstituteMonitor"...
The parameter in job chain worked fine in master but could not pass to agent. Is it a bug or a feature? Job config: <?xml version="1.0" encoding="ISO-8859-1"?> <job title="Check file in success folder" order="yes" stop_on_error="no"> <description > <include file="jobs/JSExistFile.xml"/> </description> <script language="java" java_class="sos.scheduler.file.JobSchedulerExistsFile"/> <monitor name="configuration_monitor" ordering="0"> <script java_class="com.sos.jitl.jobchainnodeparameter.monitor.JobchainNodeSubstituteMonitor"...
On the other hand, is there any way to read the return value from the http response xml and be used by JobScheduler?
By reading the source code, it seems only Content-type but no SOAPAction is inserted in the HTTP request header. 305 public int postFile(File inputFile, String inputFileSpec, File outputFile, String contentType, String url) throws Exception { 306 307 int rc = 0; 308 309 try { 310 if (inputFile.isDirectory()) { 311 Vector filelist = SOSFile.getFilelist(inputFile.getCanonicalPath(), inputFileSpec, 0); 312 Iterator iterator = filelist.iterator(); 313 while(iterator.hasNext()) { 314 rc = this.postFile((File)iterator.next(),...
By reading the source code, it seems only Content-type but no SOAPAction is inserted in the HTTP request header. 305 public int postFile(File inputFile, String inputFileSpec, File outputFile, String contentType, String url) throws Exception { 306 307 int rc = 0; 308 309 try { 310 if (inputFile.isDirectory()) { 311 Vector filelist = SOSFile.getFilelist(inputFile.getCanonicalPath(), inputFileSpec, 0); 312 Iterator iterator = filelist.iterator(); 313 while(iterator.hasNext()) { 314 rc = this.postFile((File)iterator.next(),...
What's wrong with the setting when using JobSchedulerHttpPostJob? Output with error is shown after calling SOAP web service: <?xml version="1.0"?> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <s:Fault> <faultcode xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">a:ActionNotSupported</faultcode> <faultstring xml:lang="en-US">The message with Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may...
Job chain config: <?xml version="1.0" encoding="ISO-8859-1"?> <job_chain > <file_order_source directory="\\server\FileRoot\FileTransfer\Send\folder\Pending"/> <job_chain_node state="10" job="File Transfer" next_state="20" error_state="error" on_error="setback"/> <job_chain_node state="20" job="File Transfer" next_state="success" error_state="error" on_error="setback"/> <file_order_sink state="success" move_to="\\server\FileRoot\FileTransfer\Send\folder\Success" remove="no"/> <file_order_sink state="error"...
Job chain config: <?xml version="1.0" encoding="ISO-8859-1"?> <job_chain> <file_order_source directory="\\server\\FileRoot\\FileTransfer\\Send\\folder\\Pending"/> <job_chain_node state="10" job="File Transfer" next_state="20" error_state="error" on_error="setback"/> <job_chain_node state="20" job="File Transfer" next_state="success" error_state="error" on_error="setback"/> <file_order_sink state="success" move_to="\\server\FileRoot\FileTransfer\Send\folder\Success" remove="no"/> <file_order_sink...
Job chain config: <?xml version="1.0" encoding="ISO-8859-1"?> <job_chain> <file_order_source directory="\\server\\FileRoot\\FileTransfer\\Send\\folder\\Pending"/> <job_chain_node state="10" job="File Transfer" next_state="20" error_state="error" on_error="setback"/> <job_chain_node state="20" job="File Transfer" next_state="success" error_state="error" on_error="setback"/> <file_order_sink state="success" move_to="\\server\FileRoot\FileTransfer\Send\folder\Success" remove="no"/> <file_order_sink...
In the history page, I expect the node column should show the final node of the order, but it randomly shows other node name.
Or any way to pass the folder watching triggered file name to file_spec?
There is a parameter "SCHEDULER_PARAM_SCHEDULER_FILE_PATH" which is the full path of the file. Is there any parameter contains only the file name?
Job config: <?xml version="1.0" encoding="ISO-8859-1"?> <job order="yes" stop_on_error="no" process_class="Agent"> <params/> <script language="shell"> <![CDATA[ ssh user@server -i D:\JobScheduler\agent_4443\keys\id_rsa echo hello ]]> </script> <run_time /> </job> Agent process class config: <?xml version="1.0" encoding="ISO-8859-1"?> <process_class max_processes="10" remote_scheduler="http://server02:4443"/> Log: 2017-05-31 15:43:15.971+0800 [info] (Task task/job1:24839) SCHEDULER-842 Task is going...
How can JobScheduler agent call SSH command to other windows SSH server? I got exception when I used sos.scheduler.job.SOSSSHJob2JSAdapter: COM-80020009 com.sos.JSHelper.Exceptions.JobSchedulerException: Universal Agent does not support method 'sos.spooler.Task.create_subprocess', method=call Also, when I used shell or powershell script to call SSH directly thought agent, there was nothing return. Script: D:\JobScheduler\OpenSSH\ssh.exe username@server -i D:\JobScheduler\agent_4443\keys\id_rsa echo...
When the target SSH server is a windows server, I have to set the parameters of preCommand, preCommandRead and preCommandDelete in order to adapt the windows command. However, when I check the log on the full command, the delimiter between each command is still linux delimiter ";" but not common windows delimiter "&" even if I set the command_delimiter. Thus, the windows SSH server regards the command line as one command. Is there any other parameter can config the parameter or is it a bug?
I did a simple YADE copy operation action from SFTP server to local machine, but the file size transferred was always 0 byte. What's the problem of that? Config: <job title="File Transfer from FILE server" order="yes" stop_on_error="no"> <description> <include file="jobs/jadeJob.xml"/> </description> <params > <param name="operation" value="copy"/> <param name="source_dir" value="/D:/JobScheduler/FileRoot/FileTransfer/Send/FILE_BatchAuto/Pending"/> <param name="source_host" value="server03"/> <param...