Hi Andy,

NiFi processors can be scheduled with CRON driven scheduling by
specifying a time such as 5pm daily.
Also, NiFi has different processors to control a FlowFile movement,
such as ControlRate, Wait and Notify, EnforceOrder, or
RouteOnAttribute ... etc.

For example, UpdateAttribute and RouteOnAttribute can be used to make
an incoming FlowFile to wait for certain amount of time to proceed.
By setting current time to an attribute and use NiFi expression
language to calculate elapse time at RouteOnAttribute, if not
satisfies the condition, you can route the FlowFile looping back to
RouteOnAttribute again.

I don't fully understand what "if nothing has changed", but if it
means that "if none of incoming data is arrived, then do something at
5pm", then making use of DistributeCache and CRON scheduler probably
able to construct a flow you are looking for.

Hope this helps.

Thanks,
Koji

On Mon, Sep 4, 2017 at 9:38 PM, Andy Loughran <a...@zrmt.com> wrote:
> Hey guys,
>
> I've been asked to put together a flow that effectively forms a DAG with a
> set of time-based dependencies.
>
> What this means is that thought the DAG _could_ complete immediately, I need
> to add a wait condition on the detection of each file, with either
> time-elapsed or time-since-epoch being the trigger.  For example, I may have
> to wait one hour after a file is received before triggering a process, or if
> nothing has changed then trigger the process at 5pm.
>
> I'll also need to create batch-id for each time the process is triggered.
>
> Is this within the use-case for Nifi; or should I be looking at other
> projects, such as airflow?  Recommendations would be welcomed.
>
> Regards,
>
> Andy Loughran

Reply via email to