Timer event - Delay until the DATE AND TIME specified

I have a process that gets kicked off given a date and TIME specified by a DATE AND TIME constant. So in my start event, I have a timer and I selected the option to Delay until the Date and time specified by the expression where I have a constant.

Say I want the process to kick off tomorrow at 7:00 AM then I would make the constant 7/24/2018 7:00 AM. That is working perfectly fine. However, if I want now the process to kick off a second time at 1:00 PM on the same day, the process is not getting kicked off.

I am thinking the timer is not looking at the TIME and it is looking at the date only. Is this an Appian defect? 

  Discussion posts and replies are publicly visible

Parents
  • Good feedback from all.
    No, this isn't a defect.
    Appian doesn't poll completed timers for changes.  Thus the timer task won't restart based on an update to a referenced constant..

    I'm curious about your use case, Erick.  
    Design recommendations these days lean more towards short-lived processes that leverage a relational database for relevant long-lived data.

    Have a look at this playbook play to see what I mean.

  • Hey Rob, this is my use case: We have the need to build a user re-certification application. The idea is for Appian, every 6 months, sends out emails to the supervisors of all of the Appian applications and the supervisors have to approve or agree that certain users don't need their access anymore. The main process has a timer setup on the start event which delays until the date and time specified by a constant. This constant can be modified through an Appian UI by administrators but by itself the system will increment 6 months to the constant when the process runs. So when we deploy to production, the process will look at the value of the constant and will run given that date. But what if I want to modify the date to be a day later? Can I do that or do I need to republish the process model?
Reply
  • Hey Rob, this is my use case: We have the need to build a user re-certification application. The idea is for Appian, every 6 months, sends out emails to the supervisors of all of the Appian applications and the supervisors have to approve or agree that certain users don't need their access anymore. The main process has a timer setup on the start event which delays until the date and time specified by a constant. This constant can be modified through an Appian UI by administrators but by itself the system will increment 6 months to the constant when the process runs. So when we deploy to production, the process will look at the value of the constant and will run given that date. But what if I want to modify the date to be a day later? Can I do that or do I need to republish the process model?
Children
  • Hi Erick -

    Consider the following, (there's a lot of timer talk in there, hopefully it doesn't make you dizzy):

    1. When instance #1 of the re-cert process runs, kick of an asynchronous re-cert timing verification process immediately.
      The start task of this verification process flows directly into a timer that waits 5.5 months after the timer is a task form that's assigned to the re-cert Admins.

    2. The task form in the timing verification process doesn't update a constant, instead, it flows into a new asynchronous instance of the re-cert process that also has a timer following the start task.  
      1. Configure an exception timer on the admin task, in case it gets ignored, and just start the re-cert process at 6 months.
      2. If an admin changes the date on the task form, before the exception timer hits, that's the date that goes into the timer in the re-cert process.

     Have a look at this sketch (below)  - I'm illustrating two processes on the same palette (in different swim lanes) in an effort to keep it simple.
    You'd need to build out 2 process models in true practice.

  • This is excellent, Rob. It gave me a perfect idea on how I will implement it. I appreciate your help!