platyping
Sleeping Dragon
Special promotion for you since you provided pretty much half the artwork for my wonders 
It assumes that the 2 units are specific ones like modern armors, which do not have UUs.
If you want it to spawn units which have UUs, then codes will be more complicated.
The last line adds XP to the new units as though they were built.
Remove if you want.

Code:
def onCityDoTurn(self, argsList):
'City Production'
pCity = argsList[0]
iPlayer = argsList[1]
##
if pCity.getNumActiveBuilding(gc.getInfoTypeForString("BUILDING_STONEHENGE")):
if not pCity.isDisorder():
iUnit = -1
iRandom = CyGame().getSorenRandNum(100, "zzz")
if iRandom < 2:
iUnit = gc.getInfoTypeForString("UNIT_ARCHER")
elif iRandom < 4:
iUnit = gc.getInfoTypeForString("UNIT_WARRIOR")
if iUnit > -1:
pNewUnit = gc.getPlayer(iPlayer).initUnit(iUnit, pCity.getX(), pCity.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.NO_DIRECTION)
CyInterface().addMessage(iPlayer,True,15,CyTranslator().getText("TXT_HROCHLAND",(pNewUnit.getName(), pCity.getName(),)),'',0, pNewUnit.getButton(),ColorTypes(11), pCity.getX(), pCity.getY(), True,True)
pCity.addProductionExperience(pNewUnit, False)
##
CvAdvisorUtils.cityAdvise(pCity, iPlayer)
It assumes that the 2 units are specific ones like modern armors, which do not have UUs.
If you want it to spawn units which have UUs, then codes will be more complicated.
The last line adds XP to the new units as though they were built.
Remove if you want.
Code:
<Tag>TXT_HROCHLAND</Tag>
<English>[COLOR_HIGHLIGHT_TEXT]%s1 [COLOR_POSITIVE_TEXT]bleh bleh bleh [COLOR_HIGHLIGHT_TEXT]%s2[COLOR_POSITIVE_TEXT]![COLOR_REVERT]</English>