fix: task slicing range

This commit is contained in:
2026-08-27 15:55:28 +08:00
parent 157dd985a8
commit c8975875b1
2 changed files with 19 additions and 17 deletions
+8 -8
View File
@@ -20,8 +20,8 @@
<span class="less ellipsis pure-u-3-4" id="fromLabel"></span>
</div>
<div class="inline-flex pure-u-1 pure-u-sm-1-2">
<span class="ellipsis pure-u-1-4">Recipient</span>
<span class="less ellipsis pure-u-3-4" id="recipientLabel"></span>
<span class="ellipsis pure-u-1-4">To</span>
<span class="less ellipsis pure-u-3-4" id="toLabel"></span>
</div>
<div class="inline-flex pure-u-1 pure-u-sm-1-2">
<span class="ellipsis pure-u-1-4">Progress</span>
@@ -233,8 +233,8 @@ async function handlePrimaryButtonClick() {
$.all('.columns').forEach(e => e.dispatchEvent(new Event('change')));
break;
case 'READY':
let locale = $('#locale').value;
let options = { locale, subcategories, save, mapping: new Object(), start: 2, limit: null };
let [start, end] = [null, null];
let options = { locale: $('#locale').value, subcategories, save, mapping: new Object() };
for (let element of $.all("input[type='number'].params")) {
parameters[element.id] = element.disabled ? null : element.valueAsNumber;
@@ -257,11 +257,11 @@ async function handlePrimaryButtonClick() {
}
if (options.slice) {
options.limit = Math.min(minor || major, $('#chunksize').valueAsNumber);
options.start += $('#offset').valueAsNumber * $('#chunksize').valueAsNumber;
start = $('#offset').valueAsNumber * $('#chunksize').valueAsNumber;
end = Math.min(minor || major, $('#chunksize').valueAsNumber);
}
await Rpc2.invoke('begin', { params: [options, parameters] });
await Rpc2.invoke('begin', { params: [options, parameters, start, end] });
break;
case 'RUNNING':
await Rpc2.invoke('pause');
@@ -450,7 +450,7 @@ while (await new Promise(o => setTimeout(o, 1000, true))) {
$('#progressLabel').innerText = `${parseFloat(count / total * 100).toFixed(2)}% (${count}/${total})`;
$('#subjectLabel').innerText = subject ?? '';
$('#recipientLabel').innerText = recipient ? `${recipient} <${email}>` : email ?? '';
$('#toLabel').innerText = recipient ? `${recipient} <${email}>` : email ?? '';
let uptime = await Rpc2.invoke('uptime').catch(() => 0);
$('#uptimeLabel').innerText = Temporal.Duration.from({ seconds: uptime }).round({ largestUnit: 'hours' }).toLocaleString('en', { style: 'digital' });