Process Task Retry Option !!

Guys ,
I was trying to use the ReTry option available OOTB in the process tasks to retry a task particular number of times .
I gave the retry count as 3 and retry interval as 1 min .
But it does not seems to retry the task .
Are there any other configurations that are required to retry a task .
Any help is appreciated .
Thanks
Suren

There is a scheduled task called "Task Timed Retry" which will run on an interval to find any tasks that should be retried whose retry interval has passed. This is what reruns tasks marked for retry.
-Kevin

Similar Messages

  • How to get Process Task Retry Count using API (OIM 10g)

    Hi ,
    I want to get all the process task which are failed after retried 5 times.
    For e.g Create user task in AD retried for 5 times but still it is in failed state. I want to get all such process task.
    I am stuck at point how to get process task retry count from process definition?
    Thanks

    You can reference the code in the "Task Timed Retry" scheduled task to get what you are looking for. Here is the decompiled code:
    >
    package com.thortech.xl.schedule.tasks;
    import Thor.API.Operations.tcScheduleTaskOperationsIntf;
    import com.thortech.util.logging.Logger;
    import com.thortech.xl.dataaccess.tcDataSetException;
    import com.thortech.xl.dataobj.tcDataSet;
    import com.thortech.xl.scheduler.tasks.SchedulerBaseTask;
    import com.thortech.xl.util.logging.LoggerMessages;
    import java.sql.Date;
    import java.util.Hashtable;
    public class tcTskTimedRetry extends SchedulerBaseTask
    private static Logger logger = Logger.getLogger("Xellerate.Scheduler.Task");
    Date isCurrentDate;
    public void init()
    logger.debug(LoggerMessages.getMessage("EnteredMethodDebug", "tcTskTimedRetry/init"));
    this.isCurrentDate = new Date(System.currentTimeMillis());
    logger.debug(LoggerMessages.getMessage("LeftMethodDebug", "tcTskTimedRetry/init"));
    public void execute()
    logger.debug(LoggerMessages.getMessage("EnteredMethodDebug", "tcTskTimedRetry/execute"));
    tcDataSet localtcDataSet1 = new tcDataSet();
    tcDataSet localtcDataSet2 = new tcDataSet();
    tcDataSet localtcDataSet3 = new tcDataSet();
    try
    if (isStopped())
    return;
    localtcDataSet2.setQuery(getDataBase(), "select osi_retry_on from osi where 1=2");
    localtcDataSet2.executeQuery();
    if (isStopped())
    return;
    localtcDataSet2.setDate("osi_retry_on", this.isCurrentDate);
    localtcDataSet1.setQuery(getDataBase(), "select osi.sch_key, osi.mil_key, osi.orc_key, osi.osi_rowver, sch.sch_rowver, osi.osi_retry_for, osi.osi_retry_on, osi.osi_retry_counter, sch.sch_note from osi osi,sch sch where osi.osi_retry_on <=" + localtcDataSet2.getSqlText("osi_retry_on") + " and osi.sch_key = sch.sch_key" + " and sch.sch_status='R'" + " and osi_retry_counter>0 order by osi.sch_key");
    localtcDataSet1.executeQuery();
    if (isStopped())
    return;
    int i = localtcDataSet1.getRowCount();
    logger.debug("tcTskTimedRetry:execute:Number of Process tasks retrieved is=" + i);
    tcScheduleTaskOperationsIntf localtcScheduleTaskOperationsIntf = (tcScheduleTaskOperationsIntf)getUtility("Thor.API.Operations.tcScheduleTaskOperationsIntf");
    tcDataSet localtcDataSet4 = new tcDataSet();
    localtcDataSet4.setQuery(getDataBase(), "select osi_retry_for, osi_retry_counter from osi where 1=2");
    localtcDataSet4.executeQuery();
    Hashtable localHashtable = new Hashtable();
    if (isStopped())
    return;
    for (int j = 0; j < i; j++)
    if (isStopped())
    return;
    localtcDataSet1.goToRow(j);
    localtcDataSet3.setQuery(getDataBase(), "select count(*) as counter from osi osi,sch sch where osi.sch_key = sch.sch_key and osi_retry_for=" + localtcDataSet1.getLong("sch_key"));
    localtcDataSet3.executeQuery();
    if (isStopped())
    return;
    if (localtcDataSet3.getInt("counter") > 0)
    continue;
    localHashtable.put("osi_retry_for", String.valueOf(localtcDataSet1.getLong("sch_key")));
    localHashtable.put("sch_note", localtcDataSet1.getString("sch_note"));
    long l = localtcDataSet1.getLong("osi_retry_counter");
    if (isStopped())
    return;
    try
    localtcScheduleTaskOperationsIntf.createScheduleItem(localtcDataSet1.getString("orc_key"), localtcDataSet1.getString("mil_key"), localHashtable, l - 1L);
    catch (Exception localException2)
    logger.error(LoggerMessages.getMessage("ErrorMethodDebug", "tcTskTimedRetry/execute", localException2.getMessage()), localException2);
    catch (tcDataSetException localtcDataSetException)
    logger.error(LoggerMessages.getMessage("ErrorMethodDebug", "tcTskTimedRetry/execute", localtcDataSetException.getMessage()), localtcDataSetException);
    logger.debug("PJ:tcTskTimedRetry:execute:DataSetexception has occured");
    catch (Exception localException1)
    logger.error(LoggerMessages.getMessage("ErrorMethodDebug", "tcTskTimedRetry/execute", localException1.getMessage()), localException1);
    logger.debug(LoggerMessages.getMessage("LeftMethodDebug", "tcTskTimedRetry/execute"));
    public boolean stop()
    logger.debug("tcTskTimedRetry:stop:Task being stopped");
    return true;
    >
    -Kevin

  • Queuing/Retrying 'Rejected' status OID Process Tasks: OIM-OID provisioning

    Hello Gurus,
    I have already up and running environment with OIM, OID connector pack and OID as the target system. So when a user data (for e.g. a UDF) is being provisioned from OIM to OID target system; if a process task comes back with 'rejected' status due to target unavailability/OID down; then is there any settings that we can configure within OIM design console that queues up and retries these 'rejected' tasks related to each individual user?
    Is there any setting within any of the OID lookups such that we can set a retry count for such process tasks?
    The goal is without human intervention all these 'rejected' process tasks should run successfully and be set to 'completed' status. If the target system is unavailable then there should be a way to run all these failed tasks - is my assumption.
    Is it by anyway related to 'Offline Provisioning'?
    Please provide some guidelines.
    Thanks,
    - oidm.
    Edited by: oidm on Mar 16, 2010 10:34 PM

    But it'll only allow us to 'retry' those specific tasks for a limited number of times and limited period of time. And will this task be retried only if its 'rejected' or it'll be retried for whatever number of times we specified?
    What if the target system doesn't come up for the whole day? Can we specify some value for the same in 'Duration' fields?
    So all in all if we talk about retrying the failed/rejected tasks we just have these options in hand as far as task 'status' is concerned?
    Thanks,
    - oidm.

  • Retrying a particular failed Process Task for all the OIM Users

    Hi,
    We are using OIM 11.1.1. On a particular day one of the systems was unavailable hence all the process tasks for that system failed for a number of users. Is there any way of viewing all the failed process task and retrying them together, there are over 3000 users and it is not possible to go through them one by one.
    Any method either through the console or doing it programatically would be very helpful.
    Thanks in advance.
    UZ

    The OTI table has all the rejected task information. You can use it to link to user and resource instances through the OIU table as well.
    You can then take the SCH_KEY and then use code like this to process them:
    public void completeTask(){
    long[] task = new long[] {123123,3242134,23432,43534,34656,456456};
    int counter = 0;
    for (long key:task){
    try {
    counter++;
    provIntf.retryTask(key);
    System.out.println(counter + "|" + task.length);
    } catch (Exception e) {
    -Kevin

  • OIM 11g R2 -View Process Tasks

    Hi,
    I am basically from 10g background, I am trying to find and retry a failed process task for AD resource for a user on the console, can anyone please help me on this.
    Thanks

    goto users->selct user and open detail page->Accounts tab-> click on Resource History-> now you can see all the task history here
    check your task and click on retry button below for re-execution.
    *(If you are working on OIM11gr2 beta then there won't be Resource History option available)*
    Mark it correct or helpful if you get the solution

  • How to call Process Task in AD User proccess definition from Xellerate user

    Hello,
    I need a help from you guys.
    I have one customized process task in "Xellerate User" Process definition. When my this task executes completely, I would like to call one of the customized process task in "AD User" process definition from xellearte user. Is there any way we can do that?
    Thanks for your any help....

    There are lots of ways to accomplish this. I haven't read through the other posts, but here are a few options.
    Option 1 - Create a second task that also triggers at the same time, but set the task you already have as preceding. Then on your second task, write whatever code is needed to update a field, insert a new task, whatever the function is that's needed.
    Option 2 - On the completion response of your original task, just use the response code to trigger the second task from running. Then again, write whatever code is needed.
    Option 3 - Create a UDF on your user form. Add this field to the Lookup.USR_PROCESS_TRIGGERS. When your first task completes, use the APIs to update this field with a new value, perhaps the current date. On your AD Process Definition, create a task with the name you used in the lookup. This task will get triggered whenever the field is updated. Now if the user does not have an AD Instance, you don't have to worry about it ever running.
    I'm sure you could create other event handlers as well to do this, it just depends on how creative you want to be.
    -Kevin

  • Process Task dependency issue in OIM 11g

    Hello,
    I created 3 process tasks (Task1, Task2 and Task3) .I would like to trigger Task3 when both Task1 and Task2 get completed status.
    So what I did is I put both Task1 and Task2 as depedent tasks in Task 3 "Task Dependecy" tab. In this case both Task1 and Task2 get triggered and completed , however Task3 is NOT triggering.
    Even I tried putting both Task 1 and Task2 as Preceeding tasks for Task3, still it does not work.
    Could you please let me know how can we trigger Task3 once both Task1 and Task2 completes.
    Thanks for you help.

    By Task Dependency you can just control the order of the tasks being executed but you cannot invoke/insert a target.
    Ideally what you did as suggested in the latter option is correct: Task1 and Task2 as preceding task of Task3.
    To invoke Task3, you can do multiple things, the easiest here would be to go to the Responses tab of Task2 select the response Completed and then in Tasks to Generate section add Task3

  • Pass Passord Variable to a Batch File using Execute Process Task

    I have an FTP batch file that I want to execute using Execute Process Task. The content of the ftp (ftpscript.cmd) is as below:
    open ftpsite
    UserName
    Password
    ASCII
    get file  c:\temp\test.txt
    bye
    Using SSIS Execute process task, I was able to download data. I configured the Execute Process task as follows:
    Executable: ftp.exe
    Arguments: -s:"c:\temp\ftpscript.cmd"
    The above works fine. But the problem is that I don't want to store the password value in the batch file for security/policy reasons. Please, is there a way I can pass the password value to the ftp executable or the batch file at run time?
    I know how to get and store variables in SSIS but I don't know how to pass this kind of variable to the batch file just before execution.
    Any suggestions will be appreciated. Thanks.

    you can dynamically generate the source (CMD) for the FTP and delete after the execution. The password can be stored in a secure database for example, not 100 % secure, but the best you can do.
    Another option I did was an encrypted VBScript (also quite easy to open in plain text to some people).
    Finally it can be a binary e.g. an EXE with the FTP called as process in it.
    Arthur My Blog

  • SSIS Execute Process Task to Unzip Remote Files

    I have created an SSIS Execute Process Task to unzip files on a remote server.
    Executable: \\servername\c$\Program Files (x86)\7-Zip\7z.exe
    Arguments: -o\\servername\d$\DBFiles\ -y x \\servername\d$\DBFiles\somefile.zip
    The zip file size is about 40MB.
    The SSIS task runs very slowly, close to 5 minutes. I know it should not take this long. When I remote logon to the server and run the 7z program to unzip the same file, it unzips in less than 10 seconds.
    It seems that the way it is set up now, it constantly sending instructions back and forth from my PC to the server when I run the SSIS package on my PC.  
    I have 50 files of varying sizes that need to be processed daily. The SSIS unzip task takes 2 hours just to unzip these files.
    How should I set up the SSIS Execute Process Task so that it can unzip files on remote server efficiently?
    Many thanks in advance

    The reason is that the files contain data that need to be loaded to the database. So, the zipped data files are copied to the server where the database lives. The SSIS package unzips the files and loads the database. The SSIS package is stored on the same
    server. The server lives in the remote data centre.
    My team run the SSIS package using Managament Studio running their PCs in the office, which is a different location to the data centre.
    Since the package and files live on the same remote server, I would have thought that that would not be an issue. But the fact that we run the package locally means that the package is executed locally.
    My goal is to put the zipped data files on the server, unzip the files, load data to a database on a remote server. I need to allow my team of 4 to be able to use Management Studio to run the SSIS packages to do the above. Would I be better off Remote
    Desktop connecting to the server and execute the package there?
    I will check out the PowerShell option.

  • OIM Rejected Task Retry not working.

    Hi,
    I am trying to have a process task for a custom adapter retry itself if it gets rejected.
    I have set the process task attributes "Retry Period in Minutes" and "Retry Count" as sad in the documentation.
    But the rejected task are not getting retried.
    Is there any other configuration to be checked?
    Following are the OIM version details :
    Version: 9.1.0.1866.63
    Build 1866.63
    Thanks,
    Aravind

    The "Task Timed Retry" task is enabled and seems to be running. It is scheduled to run every 30 mins.
    But once it starts running, it keeps on running for a very long time, and the tasks are not retried.

  • OIM - starting two process tasks simultaneously

    Hello,
    I have a process definition with many process tasks. If a certain trigger/event happens (eg. Change Last Name) I want to run two particular process tasks. How do I achieve this? My guess was to use the option to generate new tasks based on the response code, but I didn't manage to build such a task yet. How do I configure a new task that only initiates/generates two other tasks?
    Joost

    Hi Ryken - each background task is its own entity, so each task should get 16Mb of memory as described
    here.  Also, each task gets its own 2 seconds to execute.  The tasks do not combine resources.  I do not think that you can share statics between the processes,
    but you're welcome to test it out and prove me wrong.
    Matt Small - Microsoft Escalation Engineer - Forum Moderator
    If my reply answers your question, please mark this post as answered.
    NOTE: If I ask for code, please provide something that I can drop directly into a project and run (including XAML), or an actual application project. I'm trying to help a lot of people, so I don't have time to figure out weird snippets with undefined
    objects and unknown namespaces.

  • Trigger only one process task on Process form update

    Hello,
    I'd like to trigger a single process task (a single time) when one or several attributes are updated in a process form.
    any idea how to do that?
    what I don't want to do :)
    - call the same process task on "firstname update" AND on "lastname update" => this process task would be launched twice on a single process form update/save
    thanks in advance for your help

    Create a task with the form name like such:
    UD_ADUSRLX Updated
    This task will trigger any time a value(s) are updated on the form. You will get only a single task, and not individual. But if you add this task, you don't get the option of the other tasks triggering individually.
    -Kevin

  • Calling an actionable email from process task OIM11g

    Hello Experts,
    Is there a way to call an actionable email from process task, meaning can i trigger a workflow on demand from process task.

    You are correct in the actionable emails, you just need to be creative.
    This is my suggestion:
    Create a Modify Application/Request request data set for your Active Directory workflow.  When your scheduled task runs (assuming it will be only once a day so that you don't have multiple being sent out), generate a new request with code, and in the request dataset, set the value to the 365 days in the future.  You can then create an approval policy either using the default manager approval, or custom soa composite.  Regardless, you want the approval task to go to the manager.  If you have enabled the Actionable Email Notifications (UMS Messaging i believe), then the manager will get an email for the approval and at the bottom it will have two options, APPROVE and REJECT.  The manager can click the link and it will process the request based on their response.
    If they approve it, the date is updated, and they get extended in AD.  If they reject it, the request is rejected and it never gets updated.
    -Kevin

  • Execute Process Task - How to output command?

    Hello everyone,
    I'm currently running an SSIS package that reaches out to a remove SFTP server and pulls files to my local server.  I've recently run into a problem where it's not properly pulling a list of the files on the remote server (so that I can pull them each
    one at a time and log the transfer).  Part of the solution is utilizing an execute process task object to call the SFTP client (in this case WinSCP) and issue a command to connect to the remote server and request a list of the files in the remote folder:
    Executable
    C:\WinSCP\WinSCP.com
    Arguments
    /command "open sftp://user:[email protected]:10022/folder" "option confirm off" "ls files*.csv" "exit"
    The arguments line is put together via an expression, the file group query (ls files*.csv) changes to different types of files as I loop through them to get grouped lists (ls files*.txt, ls files*.gz, etc.).  Now what I'm trying to look for is a way
    to have the actual command executed outputted to the output window, variable, or file so that I can see what's actually being put together via expression.  I imagine this is just an option somewhere that I can toggle on but I haven't been able to find
    it in BIDS.  Any help is appreciated.
    Thanks,
    Glen

    Hi Tom,
    I went ahead and did that, it now exits but I still don't have a log file.  I did check the online documentation at the link you provided and it looks like it's in order.  Currently the command looks like this:
    WinSCP.com /command "open sftp://user:[email protected]:10022/folder" "option confirm off"
    "ls files*.csv" exit "/log "C:\MyWinSCPSession.log""
    I've tried a couple other variations, playing around with moving around the quotes but no dice.  I don't even get an error message.  I can confirm that there are files with
    the exact file mask I'm looking for on the target server and that the command works when I type it manually (without the logging).  Any additional help is appreciated.
    Thanks,
    Glen
    *Note: I should add that when I execute the command above, it does all other tasks successfully...search and connect to host, authenticate username/password, start session, output
    file list, etc. and it's all printed out in the command window.  It just doesn't seem to want to log anything.

  • Execute Process Task configuration for WinSCP

    Hi Experts,
    I've been tasked to use WinFTP to pull files from an sFTP site to our local W2007 server using an SSIS Execute Process Task.  I'm trying to get the task to run a script containing the UN/PW and other info, text below.  The script works from the
    command line:
    Here's the Process window from the task:
    When I run the task, the error says Host "\script=C" does not exist.  Are there some special characters I need to use around the colon or something?  It's like the task isn't sending the complete path.
    Here's the text of the script, in case it matters.
    option batch abort
    option confirm off
    open sftp://User:Password@site
    get Media*2013.txt C:\FTP\
    get Media*2014.txt C:\FTP\
    close
    exit
    None of the recommended solutions I've found have worked for me.  Help!?! Please???
    Thanks in advance!

    Look at this example, i remeber doing this where  a profile needs to be created in advance via the console this profile then need to be accessed via the script, this link should help you it has an example belo
    http://winscp.net/eng/docs/scripting
    Look at this aswell
    http://winscp.net/eng/docs/guide_automation#script_file
    # Automatically abort script on errors
    option batch abort
    # Disable overwrite confirmations that conflict with the previous
    option confirm off
    # Connect using a password
    # open sftp://user:[email protected] -hostkey="ssh-rsa 1024 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
    # Connect
    open sftp://[email protected] -hostkey="ssh-rsa 1024 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
    # Change remote directory
    cd /home/user
    # Force binary mode transfer
    option transfer binary
    # Download file to the local directory d:\
    get examplefile.txt d:\
    # Disconnect
    close
    # Connect as a different user
    open sftp://[email protected]
    # Change the remote directory
    cd /home/user2
    # Upload the file to current working directory
    put d:\examplefile.txt
    # Disconnect
    close
    # Exit WinSCP
    exit
    Abhinav http://bishtabhinav.wordpress.com/

Maybe you are looking for

  • Get Position from 9512 Encoder in FPGA

    Hello, I am using the following Software/Hardware: LV2010 with SoftMotion, Realtime, and FPGA modules cRIO-9073 with NI 9512 Stepper Card and associated NI Drive Misc Input and Output cards for digital signals My application is essentially a conveyor

  • Can Reader pick up the Default Page Size of a printer that is not the Windows Default Printer?

    We have a web based application that generates PDF documents via Crystal Reports. We are using Adobe Reader 8 The PDF pages are displayed within an Internet Explorer window where the the users then print the document. The application is designed so t

  • Enabling/Disabling Tabs on Tab Control in an *.EXE

    Hello, I've got a VI with a Tab Control. Within that VI, I programmatically enable and disable some of the tabs depending on user inputs. This VI functions as I want it to in the Labview environment, but when I use Application Builder to create an *.

  • Audio level display as overlay on desktop

    My Compaq laptop shows the audio level as soon as I take action to change it. It displays a nice green bars on the bottom of the screen. The number of green bars depends on the audio level. I heard these Lenovo T-61's can have that capability but I h

  • Track Ball Lighting

    I have noticed that the Pearl has downloadable programming to light the track ball. Is this available for the Curve? Solved! Go to Solution.