Skip to end of metadata
Go to start of metadata

Plugin Information

No information for the plugin 'locks-and-latches' is available. It may have been removed from distribution.

This plugin is up for adoption. Want to help improve this plugin? Click here to learn more!

This plugin allows you to control the parallel execution of jobs.

This plugin is on the Proposed Plugin Deprecation list. Take a look at the Throttle Concurrent Builds Plugin.

Locks and Latches plugin

This plugin allows you to control the parallel execution of jobs.

  • Locks are used to discourage jobs from executing in parallel.
  • Latches are used to encourage jobs to execute in parallel.

At present only Locks have been implemented.

Version History

Version 0.6 (16 Apr 2010)

  • The list of locks is now alphabetically sorted when saving the global configuration

Version 0.5 (26 Dec 2009)

  • Fix broken help link
  • Update uses of deprecated APIs

Version 0.4 (17 Oct 2008)

  • Bugfix for hanging builds

Version 0.3 (12 Oct 2008)

Version 0.2 (03 Dec 2007)

  • Initial release
  • Only implements Lock functionality

10 Comments

  1. Are there plans for a plug-in that will block a list of jobs from being build when a specific job is running, but which will not also exclude members of that list from running concurrently? The current setup of the Locks functionality necessitates a lock for each paired project and when you have hundreds of jobs this becomes a cumbersome process.

  2. Does this plugin works with the m2extra steps plugin? According to the console output only the main maven buildstep is protected by the locks and pre build steps as well as the post build steps are outside of the logged area. I need the pre and post steps also being protected by the locks?

  3. Unknown User (benjwarneranz)

    Agree with Alex.  Having a seperate lock for each pair of projects is not maintainable.  Would be great to be able to share a lock between more than two projects.

  4. Or add an option to gather projects in "groups". In each group only one project may be build at any given time.

  5. Btw. I found out that you can misuse the Port Allocator Plugin for that: just assign the same tcp/ip port for two or more projects that you don't want to run at the same time. I use number ranges to group them, ie. 50000, 50001 etc.

  6. Unknown User (jswager@alohaoi.com)

    Is there a way to specify the name of a lock via a variable or parameter?

    1. Not for the moment.

  7. Is this plugin still maintained? It is a very useful plugin, especially if it would be extended to support:

    • specifying the name of a lock in a variable/parameter (as Jason suggested)
    • read-write locks - e.g. several jobs reading from a directory and another one refreshing/cleaning/recreating it on a regular basis
    • latches
    • etc.

    Are there any plans to update the plugin soon and regularly after that?

    1. This plugin has been included in the list of possibly deprecated plugins. Cf. Proposed Plugin Deprecation which gives some more details.