feat: add river-backed async task queue
This commit is contained in:
@@ -46,7 +46,6 @@ import {
|
||||
getHealth,
|
||||
getNetworkProxyConfig,
|
||||
getRunnerPolicy,
|
||||
getTask,
|
||||
getWalletSummary,
|
||||
listAccessRules,
|
||||
listAuditLogs,
|
||||
@@ -72,6 +71,7 @@ import {
|
||||
listUserGroups,
|
||||
listUsers,
|
||||
loginLocalAccount,
|
||||
pollTaskUntilSettled,
|
||||
registerLocalAccount,
|
||||
replacePlatformModels,
|
||||
setUserWalletBalance,
|
||||
@@ -788,7 +788,11 @@ export function App() {
|
||||
setCoreMessage('');
|
||||
try {
|
||||
const response = await runTask(credential, taskForm);
|
||||
const detail = await getTask(credential, response.task.id);
|
||||
const syncTask = (detail: GatewayTask) => {
|
||||
setTaskResult(detail);
|
||||
setTasks((current) => [detail, ...current.filter((item) => item.id !== detail.id)]);
|
||||
};
|
||||
const detail = await pollTaskUntilSettled(credential, response.task, { onUpdate: syncTask });
|
||||
setTaskResult(detail);
|
||||
setTasks((current) => [detail, ...current.filter((item) => item.id !== detail.id)]);
|
||||
invalidateDataKeys('tasks', 'wallet', 'walletTransactions');
|
||||
|
||||
Reference in New Issue
Block a user