run playbook over all of the hosts in the environment but limit execution by one host per environemnt children subgroup

Hi, all!

I want to do something strange. I have the next inventory in my test env:

`
[module1_group]
module1-1.host.name
module1-2.host.name
module1-3.host.name
module1-4.host.name

[module2_group]
module2-1.host.name
module2-2.host.name

[module3_group]
module3-1.host.name
module3-2.host.name

[production:children]
module1_group
module2_group
module3_group
`

I need to run my upgrade playbook over all of the hosts in production group in parallel, but at the same time if two hosts belong to the same module group they should be upgraded one by one. For example when I run “ansible-playbook production upgrade-all.yml” it should run upgrade on (for ex) module1-1.host.name, module2-3.host.name, module3-2.host.name but not on module1-1.host.name and module1-4.host.name at the same time. In other words - only one host in production child group should be upgraded in one moment of time. A number of module groups and number of hosts in module group is random.

Is it possible at all?