Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Subjob doesn't start when deployed

Hello all, 

 

This problem is related to the former one I posted, where the whole job didn't run after deployment. This was solved (https://community.talend.com/t5/Deployment/Built-job-doesn-t-run-when-deployed-on-Windows-Server-201...)

 

However, it seems that only the mainjob is running, it stops every time at the point where it would start a Subjob. 

And the strange thing is.. it stops without throwing an error or anything.. so I have nothing to go on.. 

 

And still it applies that on my computer in Talend it works fine, but when deployed on another server (and running under another account) it doesn't start the subjob. 

 

Any ideas what could be the problem? 

Labels (2)
14 Replies
Anonymous
Not applicable
Author

Hi, 

 

Sorry, no this is Talend Open Source for ESB v. 6.4.1.  

My own PC is Windows 10, java build 1.8.0_162-b12, but I compiled the jobs on java 1.7, otherwise it didn't want to run at all on the server (my former issue).  I installed java 1.7 then as well on my PC, to be able to use JDK 1.7 while building the job. 

 

The server is a Windows Server 2012, with the latest Java 1.8.0_162-b12 as well. But the 1.7 version is installed as well, so why my job won't run on 1.8 I don't understand anyway.. but that is a different issue. 

 

And I am running the same .bat (built artifact) on different machines, both in the Windows Task Scheduler. 

 

 

Anonymous
Not applicable
Author

OK, this is not necessarily the cause....but it sounds likely. You need to ensure that your Job is running against the same version of Java AND that you are using the JDK's JRE on both machines. Make sure you have the JDK installed on the machine where it fails and then edit your bat file to specify the location of your Java executable. For example, your bat file will start like this.....

 

%~d0
cd %~dp0
java -Xms256M -Xmx4096M -cp .;../lib/routines.jar..........etc

Edit it to point to your 1.7 JDK's JRE, like this....

 

%~d0
cd %~dp0
"C:/Program Files/Java/jdk1.8.0_91/jre/bin/java" -Xms256M -Xmx4096M -cp .;../lib/routines.jar..........etc

Note, that I am pointing my my JRE there. You will have to tailor it to your machine's JDK's JRE location.

Anonymous
Not applicable
Author

Hi, 

 

I tried this, but it didn't help either. Tried it with building it in different Java versions, but none worked. 

Anonymous
Not applicable
Author

Did you understand what I was saying about the type of JRE you are using. It is not just the version number (7 or 8), but it is also whether it came with the JDK (development kit) or just the JRE (runtime) on its own. You should endeavour to use the JRE that is delivered with the JDK.

 

As I understand it, your code works on your development machine which WILL have the JDK (otherwise you wouldn't be able to build), but it does not work on another machine that has multiple versions of Java and not necessarily the JDK's JRE. 

 

Don't build it in different versions, it works on your machine, so stick with that version. Check on your machine which Java version is used to run the successful runs. Then check that it is the same version on the server. You can use the modification to the batch file I gave you to force it to run against a particular version of Java. BUT make sure you have the JDK installed on your server. I suspect that this may be the issue.

Anonymous
Not applicable
Author

Hi, 

 

Yes, I misunderstood it at first, but now indeed it works 0683p000009MACn.png 

So, I just compiled it in 1.7, but built with JDK 1.8... like I did when it did run at my PC. And now I changed the .bat file and pointed the java part to the JDK 1.8 at the server, as you explained. 

 

Thank you very much!!