As of 8.5.6 metaknobs can have arguments, which opens exciting new possibilities. see https://htcondor-wiki.cs.wisc.edu/index.cgi/tktview?tn=5739,0 +In metaknob statements any $(arg) where arg starts with a digit will be substituted as the *use* line is parsed. (valid param names can't start with a digit). The substitutions are + +*: =$(0)= all of the args +*: =$(0?)= 1 if any arguments, 0 if no arguments +*: =$(0#)= the number of arguments (i.e. the number of commas+1) +*: =$(1)= the first argument +*: =$(1?)= 1 if the first argument is non-empty, 0 if it is empty +*: =$(1+)= all of the arguments, starting with the first one. equivalent to =$(0)= +*: =$(2)= the second argument +*: =$(2?)= 1 if the second argument is non-empty, 0 if it is empty +*: =$(2+)= all of the arguments, starting with the second one +*: =$(3)= the third argument +*: etc + For instance. The =FEATURE : PerodicCronHook= metaknob is declared thus: {snip: from param_info.in} @@ -24,5 +38,13 @@ $(1)_$(2)_ARGS=$(5) endif @end +{endsnip} + +And the =FEATURE : StartdCronPeriodic= metaknob uses it. it is declared +{snip: from param_info.in} +[$FEATURE.StartdCronPeriodic] +friendly_name=Configure a STARTD Cron periodic Hook, args: tag, period, exe [, hook_args] +default = use FEATURE : PeriodicCronHook(STARTD_CRON, $(0)) +{snip} {endsnip}