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-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to