Page MenuHomePhabricator

Add limit (maximum simultaneous commands) and throttle (delay between commands) to Phage
ClosedPublic

Authored by epriestley on Feb 22 2017, 9:49 PM.
Tags
None
Referenced Files
F18103371: D17396.id41833.diff
Sun, Aug 10, 4:47 AM
F17968319: D17396.id.diff
Fri, Aug 1, 1:20 PM
F17938646: D17396.id.diff
Thu, Jul 31, 2:28 AM
F17931870: D17396.diff
Wed, Jul 30, 7:30 PM
F17927128: D17396.diff
Wed, Jul 30, 2:10 PM
F17903581: D17396.id41831.diff
Tue, Jul 29, 10:59 AM
F17891314: D17396.id.diff
Tue, Jul 29, 3:49 AM
F17874045: D17396.diff
Mon, Jul 28, 5:33 PM
Subscribers
None

Details

Summary

Ref T12218. Ref T2794. This just provides a couple of general purpose tools to slow Phage down a bit if the speed is getting TOO EXTREME.

In particular, secure updates from itself so if all 4 nodes get hit simultaneously the deploy doesn't work. It deploys cleanly with --limit 1.

A separate change to the phage remote workflow in Instances exposes these options as flags:

  • --limit: Run only this many commands simultaneously.
  • --throttle: Wait this long between starting commands (for example, --throttle 0.25 will only start 4 commands per second).
Test Plan
  • Ran phage remote status on secure with various --throttle and --limit arguments, and without any arguments.
  • Ran phage remote upgrade --limit 1 on secure, got a clean upgrade.

Diff Detail

Repository
rPHU libphutil
Lint
Lint Not Applicable
Unit
Tests Not Applicable