File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+
12<template >
2- <div class =" flex flex-col w-full min-w-96" >
3- <p >{{ t('Total tokens will be used for translation:') }} <span class =" font-bold" > {{ props.job.state?.totalTranslationTokenCost || 0 }}</span ></p >
4- <p >{{ t('Total translation token used:') }} <span class =" font-bold" > {{ props.job.state?.totalUsedTokens || 0 }}</span ></p >
5- </div >
3+ <div class =" grid grid-cols-1 sm:grid-cols-2 gap-4 mb-3" >
4+ <div class =" flex items-center space-x-1" >
5+ <span class =" text-gray-500" >{{ t('Total tokens will be used for translation:') }}</span >
6+ <span class =" text-lg font-semibold text-gray-900 dark:text-gray-100" >{{ new Number(props.job.state?.totalTranslationTokenCost).toLocaleString() || 0 }}</span >
7+ </div >
8+ <div class =" flex items-center space-x-1" >
9+ <span class =" text-gray-500" >{{ t('Total translation token used:') }}</span >
10+ <span class =" text-lg font-semibold text-gray-900 dark:text-gray-100" >{{ new Number(props.job.state?.totalUsedTokens).toLocaleString() || 0 }}</span >
11+ </div >
12+ </div >
613</template >
714
815
9-
1016<script setup lang="ts">
1117import { useI18n } from ' vue-i18n'
1218const { t } = useI18n ();
Original file line number Diff line number Diff line change @@ -574,12 +574,13 @@ export default class I18nPlugin extends AdminForthPlugin {
574574
575575 const backgroundJobsPlugin = this . adminforth . getPluginByClassName < any > ( 'BackgroundJobsPlugin' ) ;
576576
577- let totalUsedTokens = await backgroundJobsPlugin . getJobField ( jobId , 'totalUsedTokens' ) ;
578-
579- totalUsedTokens += promptCost ;
580-
581- await backgroundJobsPlugin . setJobField ( jobId , 'totalUsedTokens' , totalUsedTokens ) ;
582-
577+ backgroundJobsPlugin . updateJobFieldsAtomicly ( jobId , async ( ) => {
578+ // do all set / get fields in this function to make state update atomic and there is no conflicts when 2 tasks in parallel do get before set.
579+ // don't do long awaits in this callback, since it has exclusive lock.
580+ let totalUsedTokens = await backgroundJobsPlugin . getJobField ( jobId , 'totalUsedTokens' ) ;
581+ totalUsedTokens += promptCost ;
582+ await backgroundJobsPlugin . setJobField ( jobId , 'totalUsedTokens' , totalUsedTokens ) ;
583+ } )
583584
584585
585586 try {
You can’t perform that action at this time.
0 commit comments