翻译修改为队列
This commit is contained in:
+17
-1
@@ -11,4 +11,20 @@ WEBMAN_COUNT = 2
|
||||
OSS_ACCESS_KEY_ID=LTAI5tAGiH7bkVkmrniXnfkA
|
||||
OSS_ACCESS_KEY_SECRET=nqklJBft6t3S0A4ZvxF4ci9ni91kmm
|
||||
OSS_BUCKET=vehicle-album
|
||||
OSS_ENDPOINT=https://oss-cn-beijing.aliyuncs.com
|
||||
OSS_ENDPOINT=https://oss-cn-beijing.aliyuncs.com
|
||||
|
||||
# redis
|
||||
REDIS_HOST = 1Panel-redis-1jWE
|
||||
REDIS_PASSWORD = redis_h6xWCT
|
||||
REDIS_PORT = 6379
|
||||
REDIS_DATABASE = 0
|
||||
|
||||
# redis-queue
|
||||
REDIS_QUEUE_HOST = redis://1Panel-redis-q527:6379
|
||||
REDIS_QUEUE_AUTH = redis_d2tGfw
|
||||
REDIS_QUEUE_DB = 15
|
||||
REDIS_QUEUE_PREFIX =
|
||||
REDIS_QUEUE_MAX_ATTEMPTS = 5
|
||||
REDIS_QUEUE_RETRY_SECONDS = 5
|
||||
REDIS_QUEUE_PROCESS_COUNT = 2
|
||||
REDIS_QUEUE_CONSUMER_DIR = /mzl/modules/translation/queue
|
||||
@@ -3,6 +3,8 @@
|
||||
namespace app\service;
|
||||
|
||||
use app\util\Xunfei;
|
||||
use support\Log;
|
||||
use Webman\RedisQueue\Redis;
|
||||
|
||||
class TranslatorService
|
||||
{
|
||||
@@ -39,4 +41,14 @@ class TranslatorService
|
||||
}
|
||||
return $location;
|
||||
}
|
||||
|
||||
public function queue($field,$sourceLang,$type,$id) {
|
||||
// 队列名
|
||||
$queue = 'translator';
|
||||
// 数据,可以直接传数组,无需序列化
|
||||
$data = ['entityType' => $type, 'sourceFields' => $field, 'sourceLang' => $sourceLang, 'locale' => 'hello', 'id' => $id];
|
||||
// 投递消息
|
||||
Redis::send($queue, $data);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
+4
-1
@@ -35,7 +35,10 @@
|
||||
"shopwwi/filesystem-oss": "^1.0",
|
||||
"webman/console": "^2.1",
|
||||
"webman/cache": "^2.1",
|
||||
"workerman/crontab": "^1.0"
|
||||
"workerman/crontab": "^1.0",
|
||||
"webman/redis": "dev-main",
|
||||
"illuminate/events": "^12.14",
|
||||
"webman/redis-queue": "^1.3"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-event": "For better performance. "
|
||||
|
||||
Generated
+519
-96
File diff suppressed because it is too large
Load Diff
@@ -191,32 +191,12 @@ class LocationController extends Crud
|
||||
];
|
||||
//删除已保存的模型
|
||||
unset($translationModels[$lang]);
|
||||
unset($languages[$lang]);
|
||||
// unset($languages[$lang]);
|
||||
|
||||
// 创建翻译服务实例
|
||||
$translatorService = new \app\service\TranslatorService();
|
||||
|
||||
foreach ($languages as $language) {
|
||||
$translationModel = $translationModels[$language];
|
||||
if(!empty($data['id'])){
|
||||
$translation = $translationModel::find($data['id']);
|
||||
}else{
|
||||
$translation = new $translationModel();
|
||||
}
|
||||
|
||||
// 复制主表数据
|
||||
$translation->fill($data);
|
||||
$translation->id = $location->id;
|
||||
|
||||
// 使用翻译服务处理需要翻译的字段
|
||||
$translatedData = $translatorService->location($data, $language,$lang);
|
||||
log::info('$lang',[$language,$lang,$translatedData]);
|
||||
|
||||
// 更新翻译后的字段
|
||||
$translation->name = $translatedData['name'] ?? $data['name'];
|
||||
|
||||
$translation->save();
|
||||
}
|
||||
$translatorService->queue($data,$languages[$lang],'location',$data['id']?:null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -276,38 +276,12 @@ class VehicleController extends Crud
|
||||
];
|
||||
//删除已保存的模型
|
||||
unset($translationModels[$lang]);
|
||||
unset($languages[$lang]);
|
||||
// unset($languages[$lang]);
|
||||
|
||||
// 创建翻译服务实例
|
||||
$translatorService = new \app\service\TranslatorService();
|
||||
|
||||
foreach ($languages as $language) {
|
||||
$translationModel = $translationModels[$language];
|
||||
if(!empty($data['id'])){
|
||||
// $vehicle = Vehicle::find($data['id']);
|
||||
$translation = $translationModel::find($data['id']);
|
||||
}else{
|
||||
$translation = new $translationModel();
|
||||
}
|
||||
|
||||
// 复制主表数据
|
||||
$translation->fill($data);
|
||||
$translation->id = $vehicle->id;
|
||||
|
||||
// 使用翻译服务处理需要翻译的字段
|
||||
log::info('lang:',[$language,$lang]);
|
||||
$translatedData = $translatorService->vehicle($data, $language,$lang);
|
||||
|
||||
// 更新翻译后的字段
|
||||
$translation->brand = $translatedData['brand'] ?? $data['brand'];
|
||||
$translation->model = $translatedData['model'] ?? $data['model'];
|
||||
// $translation->status = $translatedData['status'] ?? $data['status'];
|
||||
$translation->purchase_location = $translatedData['purchase_location'] ?? $data['purchase_location'];
|
||||
$translation->procedure_location = $translatedData['procedure_location'] ?? $data['procedure_location'];
|
||||
// $translation->fbo_destination = $translatedData['fbo_destination'] ?? $data['fbo_destination'];
|
||||
|
||||
$translation->save();
|
||||
}
|
||||
$translatorService->queue($data,$languages[$lang],'vehicle',$data['id']?:null);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user