I have a control indicator that has a script to execute. The control and its indicator have the frequency defined.
I want to schedule execution of this script.
So, it turns out that the process that is supposed to execute these scripts was inactive.
Going to System Scheduler > Scheduled Jobs and then searching for '*GRC' I
found the job 'GRC indicator nightly run'.
In the Related Links, click 'Configure Job Definition'.
From there, check the Active box and you can verify by using Execute Now.
I hope this helps someone besides me.
Related
I'm trying to set up a scheduled task to run an application (.exe). The application, if run manually (by double-clicking), would check a folder for new files, process them, and exit.
However, if the application is set up as an "action" in a scheduled task, when you run the scheduled task, all you see is the application starts up and appear as a process in Task Manager, but nothing else really happens. The files in the folder are not processed at all, and the process will be stuck in Task Manager, when it should shut itself down.
Any idea what's going on there? How do I get more details on what might have happened in the background?
The scheduled task is set up to run "whether user is logged on or not", with administrative privileges.
I'm running Windows 7 Professional SP1.
Update:
This is the stack output from Process Explorer:
ntoskrnl.exe!memset+0x61a
ntoskrnl.exe!KeWaitForMultipleObjects+0xd52
ntoskrnl.exe!KeWaitForSingleObject+0x19f
ntoskrnl.exe!__misaligned_access+0xbd0
ntoskrnl.exe!__misaligned_access+0x186d
ntoskrnl.exe!KeWaitForMultipleObjects+0xf5d
ntoskrnl.exe!KeWaitForSingleObject+0x19f
ntoskrnl.exe!NtWaitForSingleObject+0xde
ntoskrnl.exe!KeSynchronizeExecution+0x3a23
wow64cpu.dll!TurboDispatchJumpAddressEnd+0x6c0
wow64cpu.dll!TurboDispatchJumpAddressEnd+0x4a8
wow64.dll!Wow64SystemServiceEx+0x1ce
wow64.dll!Wow64LdrpInitialize+0x42a
ntdll.dll!RtlUniform+0x6e6
ntdll.dll!EtwEventSetInformation+0x1da09
ntdll.dll!LdrInitializeThunk+0xe
ntdll.dll!ZwWaitForSingleObject+0x15
kernel32.dll!WaitForSingleObjectEx+0x43
kernel32.dll!WaitForSingleObject+0x12
jvm.dll!_JVM_FindSignal#4+0x4e1df
jvm.dll!_JVM_FindSignal#4+0x8c1b1
jvm.dll!_JVM_FindSignal#4+0x8c5e6
jvm.dll!_JVM_MonitorWait#16+0xac
there is an option called Start in (optional) while you editing Action. For me that helped, because my app required to have some additional resources and only could access them, when started in correct directory.
I have created scheduled tasks to run each day at various times in the morning, on 6 different machines, all running Windows 7 x64.
These tasks have largely worked over the last few years, but we have a persisting issue with tasks not triggering at times, and never after a restart.
Without touching the Task Scheduler application at all, restarting the machine will mean that the next time the task is meant to be triggered, it doesn't work.
Running any task manually after the restart appears to avoid the issue.
This issue exists for scheduled batch files and PowerShell scripts.
Is there a specific setting that is needed to keep the task working after a system restart, or is this a known outstanding issue?
The most recent time this happened, we have captured the history:
Error | 27/02/2017 03:15:00 | 101 | Task Start Failed
Information | 27/02/2017 03:15:00 | 107 | Task triggered on Scheduler
Result code for failure: 2147943645
Update 2017-03-01: One machine doesn't work and produces the above error, and another machine shows nothing at all. Clutching at straws about this issue here.
If I tick the box 'Run whether user is logged on or off' The task is invisible. We can't do this. Any other suggestions are welcome!
Update 2017-03-02: Ticking 'Run whether user is logged on or off' is causing no end of issues. None of our Access macros run anymore, and other 3rd party applications called from the batch don't work with numerous permission errors. This is not the solution!
This can occur if the task trigger was set to run One Time when created. It is possible to set a task to "Run as soon as possible after a scheduled start is missed". This will cause the task to re-run after a reboot if the trigger was missed. However, this does not occur if the task is set to run One Time. This behaviour is by design.
You can work around this issue by setting a time and date under the Expire option of the task. This option can be reached by opening the Properties of the task, selecting the Triggers tab, and then clicking the Edit button for the trigger in question. If a date and time are set for the Expire option, the task will attempt to refire on reboot if its previous trigger time was missed.
I suggest you to set the trigger to "At startup". After you rebooted the machine, the task should then be in the "Queued" status. This means it will run at the configured interval.
This issue got resolved by updating 2 options in tasks.
Set task to “Run as soon as possible after a scheduled start is missed” in the settings tab.
Set expiry for task in trigger tab
But if you have multiple jobs like us. updating every job manually is an tedious work.
This PowerShell script I wrote will help you with that.
For me I had to change «for a duration of..» to «Indefinitely» and had to change the «Daily» to «One time»
I have some really strange phenomena appearing on my PC, using Task Schedular.
We created a normal Task which is triggered every morning at 7 o'clock.
The interesting part is, that the history of Task Scheduler says, that it was running successfully.
But it didn't work.
I then created 2 other Scripts.
The first script is starting calc.
The second script creates a folder in c:/Temp
When starting those scripts over Explorer everything is running as expected.
But when running those scripts over task scheduler only the calc is starting and there won't be any folder in c:/Temp.
I already created a policy report, but nothing configured in the category Task Scheduler.
By the way the account configured in the Task Scheduler has local Admin right and run as batch job rights.
Thanks for your help.
Make sure to check any dependent files and permissions:
If permissions or ownership of a file changes that your task managed script depends on or uses (not necessary the one IN YOUR TASK), you need to make sure you re-sync your task to recognize those changes.
(for instance, if you've changed any permissions to C:\Temp but HAVEN'T resaved your Task...)
I've had the steps below fix issues when a script would run fine by itself, but after some change to it or a dependent file, would no longer run properly from Task Scheduler.
1) Open task schedular
2) find and double-click the troubled task like your going to edit it
3) Hit 'Ok'.
4) When prompted, enter credentials to save it. (If your credentials don't work then update them...that is a different problem)
5) try to re-run task from scheduler (r-click -> Run) then see if it works correctly.
NOTE: Just because the task successfully runs does NOT mean your script worked as it should. Check yourself to make sure the log file you want WAS created.
I have a Jenkins master/slave set up which has been working quite happily, running Oracle imports on some Linux boxes.
I have just added a new slave node and tried to run our existing database import job on this new node. This job consists of three subprojects; the first one runs some execute shells, copying files and changing permissions and this currently completes successfully, the second runs an execute shell which ends with an Oracle impdp. The impdp completes (the db exists and ps -ef no longer shows impdp running) but the Jenkins subproject never finishes. The UI just sits there with the clock whirring around.
I've tried adding an echo after the impdp, and this also executes correctly, but the subproject still never finishes.
If I add a Post-Build email notification, it is not sent.
The third subproject is never reached.
What could be the cause of this and how do I debug what is happening?
In our case, the jobs would declare "Finished: SUCCESS", but then continue with some unknown Jenkins business for another 10 or 20 minutes. After putting on more detailed logging, we found it was related to the ill-named LogRotator.
We have thousands of old builds and are deleting the artifacts for those older than a certain number of days. Because of the way old builds are handled, Jenkins searches the entire list of old builds even though they have already had their artifacts removed.
There is issue that is now fixed related to this: https://issues.jenkins-ci.org/browse/JENKINS-22607
As of right now I do not see it in a release, but if you have this issue, the temporary workaround is to turn off the deletion.
This turned out to be something horrible :-)
After finishing the work, Jenkins tries to kill all processes it spawned. To identify them, it goes through all processes in the OS, reads from /proc/<pid>/environ (this is a Linux box) which contains the process’ environment variables and compares them with the environment it sets to Jenkins processes.
Problem was there was one particular Oracle process running on our db server where if you tried to read from /proc/pid/environ for it, it would just hang forever – which is where the Jenkins code would get stuck.
I have no idea why it was getting stuck like this and nor did our DBA. We restarted it and now it works.
You can add set +x to the top of shell scripts to see which commands are actually executed. That way you should be able to easily see from the output which command is blocking.
I have some Issues regarding Jenkins and running a Powershell Script within. Long Story short: the Script takes 8x longe execution time then running it manually (takes just a few minutes) on the Server(Slave).
Im wondering why?
In the script are functions which which invoke commands like & msbuild.exe or & svn commit. I found out that the script hangs up in those Lines where before metioned commands are executed. The result is, that Jenkins time out because the Script take that long. I could alter the Timeout threshold in the Jenkins Job Configuration but i dont think this is the solution for the problem
There are no error ouputs or any information why it takes that long and i do not have any further Idea for the reason. Maybe one of you could tell me, how Jenkins invokes internaly those commands.
This is what Jenkins does (Windows batch plugin):
powershell -File %WORKSPACE%\ScriptHead\DeployOrRelease.ps1
I've created my own Powershell CI Service before I found that Jenkins supports it's own such plugin. But in my implementation and in my current jobs configs we follow sample segregation principle rule: more is better better. I found that my CI Service works better when is separated in different steps (also in case of error it's a lot easy for a root cause analyse). The Single responsibility principle is also helpful here. So as in Jenkins we have pre- & post-, build and email steps as separate script. About
msbuild.exe
As far as I remember in my case there were issues related with the operations in FileSystem paths. So when script was divided/separated in different functions we had better performance (additional checks of params).
Use "divide and conquer" technique. You have two choices: modify your script so that will display what is doing and how much it takes for every step. Second option is to make smaller scripts to perform actions like:
get the code source,
compile/build the application,
run the test,
create a package,
send the package,
archive the logs
send notification.
The most problematic is usually the first step: To get the source code from GIT or SVN or Mercurial or whatever you have as version control system. Make sure this step is not embeded into your script.
During the job run, Jenkins capture the output and use AJAX to display the result in your browser. In the script make sure you flush standard output for every step or several steps. Some languages cache standard output so you can see the results only at the end.
Also you can create log files that can be helpful to archive and verify activity status for older runs. From my experience using Jenkins with more then 10 steps requires you to create a specialized application that can run multiple steps like "robot framework".