Why can't we use a cache event, e.g. storing some flag in cache at the end
of task 1 to notify that task 2 needs to be started?

We cannot create an API for absolutely every possible task event. I can
come up with many other possible permutations for task sequencing, e.g.
task 2 starts in the middle of task 1. I think that the proper way here is
to use other system events on the user side to possibly trigger some task
execution here.

D.

On Sat, Feb 4, 2017 at 3:04 AM, Valentin Kulichenko <
valentin.kuliche...@gmail.com> wrote:

> I think this definitely should be part of Compute Grid API. We can then
> implement ScheduledExecutorService based on this API (similar to existing
> ExecutorService implementation which is based on existing compute API), but
> it should be a separate task.
>
> -Val
>
> On Fri, Feb 3, 2017 at 3:42 PM, Denis Magda <dma...@apache.org> wrote:
>
> > Igniters,
> >
> > Conjure the cases when a task (aka. distributed computation):
> > - has to executed in an hour or
> > - its execution has to be triggered only the other task completes.
> >
> > The first time-based case is partially supported by Ignite’s executor
> > service. However, it has a significant flaw - a task scheduling happens
> > locally on a node and if the node goes down the task will never be
> executed.
> >
> > The second case is not supported at all but will be nice to have.
> >
> > The question is how would you implement this API? I see at least three
> > options here:
> > Extend Compute Grid API by adding ‘scheduleTask(…)’ and
> > ‘executeTasks(tasksChain)’ like methods. This is my preferred component
> > because it has all the interfaces needed to implement computations, it
> > supports runnables/callables, it’s empowered with the peer-class-loading
> > feature.
> > Service Grid API might be a candidate for this but then ‘task’ will be
> > equal to ‘service’ and we can’t take advantage of the peer-class-loading.
> > Extend Ignite’s executor service making existing scheduling methods
> > independent of the local node and add a method like
> > 'executeTasks(tasksChain)’ for tasks chaining. However, this component
> > supports simple runnables/callables and doesn’t have fine-grained
> interface
> > like ComputeTask/ComputeJob that add more flexibility for complex
> scenarios.
> >
> > My preference is to design the API basing on compute grid. What’s your
> > thoughts on this? Bring the up!
> >
> > —
> > Denis
> >
>

Reply via email to