[openstack-dev] taskflow usage
Joshua Harlow
harlowja at outlook.com
Thu May 28 03:50:41 UTC 2015
So I'll give it a shot, and let me know if this explanation helps,
The idea is that u have some work (composed of tasks, flows, ...); that
work is ran by some engine[1]. Hopefully that makes sense so far. Those
engines track (and can save) the execution state of what has been
executed and what is to be executed (using [2]). Doing this kind of
'check-pointing' allows for that engine (or a new instance of it) to be
resumed (or restarted after crashes...)
So then the question becomes what 'thing/entity' does this resumption
and where is the work to be done retained and transferred upon crashes.
That is the purpose/goal of a job (to track/maintain ownership and to
retain enough metadata to know what to resume/run). Hopefully the docs
at [3] help make this more obvious (and the diagram @ [4]). The idea is
that some 'entity' (program, user, or other) would place a job to be
done on some location and then some other entities (specialized workers,
conductors[5]) would attempt to 'claim' that job (and then work on its
contents). During that time when that entity is working on its claimed
job, it may 'crash' or die (as often happens in distributed systems),
and a side-effect of this is that the claim *will* be lost (or would
expire) and another entity would be able to acquire that claim and
resume that job (using the jobs internal metadata about what was done or
needs to be done...); so this in a way makes the job (and the work it
contains) highly available (in that if those set of entities keep on
crashing, as long as some forward progress is made, that the job and its
associated work will eventually complete).
[1] http://docs.openstack.org/developer/taskflow/engines.html
[2] http://docs.openstack.org/developer/taskflow/persistence.html
[3] http://docs.openstack.org/developer/taskflow/jobs.html
[4] https://wiki.openstack.org/wiki/TaskFlow#Big_picture
[5] http://docs.openstack.org/developer/taskflow/conductors.html
Hopefully that helps :)
If not feel free to jump on #openstack-state-management or
#openstack-oslo and poke the members there.
-Josh
ESWAR RAO wrote:
> Hi All,
>
> I am looking into taskflow userguide and examples.
>
> http://www.giantflyingsaucer.com/blog/?p=4896
>
> Can anyone please help me how the job/job-board is related to task and
> flows.
>
> I understood atom is similar to a abstract interface andtaskflow is an
> atom that has execute()/revert() methods and a flow is structure that
> links these tasks.
>
> Is it that a job is broken into tasks??
> Can a job be broken into set of tasks???
>
> Thanks
> Eswar Rao
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
More information about the OpenStack-dev
mailing list