2017-09-22 1 views
1

J'ai une question sur ce que serial: true fait par rapport aux emplois. Il semble un peu redondant puisque serial_groups semble déjà contrôler l'exécution en série de plusieurs tâches. Mais en même temps à l'intérieur du plan il y a des constructions comme do qui exécutent des étapes d'un plan dans une série.Le but de `serial: true` pour le concours

La documentation dit ceci:

serial: boolean en option. Par défaut faux. Si la valeur est true, les générations seront mises en file d'attente et exécutées une par une, plutôt que d'être exécutées en parallèle.

Dans la section "Concepts", Hall de gare semble définir une "construction" comme

Une instance d'exécution du plan d'un emploi est appelé build

Dans ce cas, , si vous ne spécifiez pas les étapes de construction à l'intérieur d'un do, s'exécuteront-elles simultanément?

Répondre

0

serial: true signifie qu'un seul travail spécifique se déroulera une construction à la fois, mais mettre plusieurs emplois dans un serial_group unique signifie que tous les emplois dans ce groupe se déroulera en série par rapport à l'autre.

Par exemple, si je job1 comme Situation professionnelle serial: true et exécuter rapidement quatre builds de job1, la première construction se déroulera, et builds 2, 3 et 4 attendrai dans pending état. Lorsque la construction 1 se termine, build 2 démarrera, et construit 3, et 4 attendra dans l'état pending, et ainsi de suite.

Si une définition job1, job2 et job3 dans un serial_group, et je frappe tous hors en même temps, alors l'un de ces emplois, permet de dire job2, se déroulera, et le reste attendra dans pending état . Ensuite, un autre travail, disons job1 se déroulera, et job3 attendra dans pending état jusqu'à ce que job2 se termine, puis job3 va fonctionner.

+0

L'ordonnancement des travaux à l'intérieur d'un même groupe dépendra-t-il de l'ordre dans lequel ils ont été déclarés? Comme si j'avais écrit 'job1',' job2, '' job3' dans cet ordre et les ai définis dans le même 'serial_group', vont-ils toujours s'exécuter dans cet ordre? – shinything

+0

Je pense donc, je ne devrais probablement pas les mettre dans un ordre aléatoire dans la réponse ... –

+0

donc juste pour plus de clarté, si 'serial: true' n'est pas spécifié, les étapes à l'intérieur d'un travail seront exécutées simultanément? – shinything