Zdravím a prosím o pomoc.
Snažím se vytvořit script pro zaslání Simple Queue přenosů na e-mail.
Základní kostra je jednoduchá a funkční. Spočítá se počet potřebných e-mailů (je tam limit 4 kB) - cykl for i=...
V něm je další cykl for j=..., který řeší počet záznamů v jednom e-mailu.
<:local entriesPerFile 90;
:local currentQueue 0;
:local fileContentx "";
:local fileName "";
#determine needed file count
:local numQueues [/queue simple print count-only] ;
:local fileCount ($numQueues / $entriesPerFile);
:if ( ($fileCount * $entriesPerFile) != $numQueues) do={
:set fileCount ($fileCount + 1);
}
:for i from=1 to=$fileCount do={
:for j from=1 to $entriesPerFile do={
:if ($currentQueue < $numQueues) do={
:set currentQueue ($currentQueue +1);
/queue simple
:local internalID [get $currentQueue name];
:log info $internalID;
:local totalcurrent ([get $currentQueue bytes])
:local pos5 [:find $totalcurrent "/"]
:local pos6 [:len $totalcurrent]
:local bytesupcurrent ([:pick $totalcurrent 0 ($pos5)])
:local bytesdowncurrent ([:pick $totalcurrent ($pos5+1) $pos6])
:local megsupcurrent ($bytesupcurrent / 1048576)
:local megsdowncurrent ($bytesdowncurrent / 1048576)
:set fileContentx ($fileContentx . $internalID . ": " . $megsdowncurrent . " / " . $megsupcurrent . "\r\n");
};
};
:log info $i;
/tool e-mail send to="tvoje@domena.cz" subject="Simple Queue" body=$fileContentx;
/delay delay-time=5;
:set fileContentx "";
}
Problém je v tom, že poslední soubor se nezpracuje. Ta vnitřní smyčka nedojde na konec a script se ukončí.
Pokud by někdo měl chuť to vyzkoušet...
Díky
Mirek