|
|
@@ -5,6 +5,7 @@ namespace App\Console\Commands;
|
|
|
use App\Services\Api\FinanceService;
|
|
|
use App\Services\Api\GoodsService;
|
|
|
use App\Services\RedisService;
|
|
|
+use App\Services\WalletService;
|
|
|
use Illuminate\Console\Command;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
|
|
@@ -233,6 +234,29 @@ class SwooleTask extends Command
|
|
|
file_put_contents($this->options['log_file'],"Task {$date}:清空日志\n");
|
|
|
}
|
|
|
|
|
|
+ // TODO 更新USDT价格
|
|
|
+ \swoole_timer_tick(120000, function ($timer) use ($serv, &$time) { // 启用定时器,每120秒执行一次
|
|
|
+ $date = date('Y-m-d H:i:s');
|
|
|
+ if($time>3600 && file_exists($this->options['log_file'])){
|
|
|
+ $time = 0;
|
|
|
+ file_put_contents($this->options['log_file'],"Task {$date}:清空日志\n");
|
|
|
+ }
|
|
|
+ $time++;
|
|
|
+ if(!RedisService::get('caches:task:lock:usdt_loaded')){
|
|
|
+ $taskData = [
|
|
|
+ 'taskName' => 'UpdateUsdtPrice',
|
|
|
+ 'name' => "更新USDT价格",
|
|
|
+ 'date' => date('Y-m-d'),
|
|
|
+ ];
|
|
|
+ $res = $serv->task($taskData);
|
|
|
+ RedisService::set('caches:task:lock:usdt_loaded', true, rand(3,5));
|
|
|
+ echo "[Task UpdateUsdtPrice {$date}] 更新USDT价格:{$res}\n";
|
|
|
+ }else{
|
|
|
+ echo "[Task UpdateUsdtPrice {$date}] 间隔时间调用\n";
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
// TODO 更新商品数据
|
|
|
\swoole_timer_tick(120000, function ($timer) use ($serv, &$time) { // 启用定时器,每120秒执行一次
|
|
|
$date = date('Y-m-d H:i:s');
|
|
|
@@ -428,6 +452,23 @@ class SwooleTask extends Command
|
|
|
echo "[Task {$taskName} {$date}] 更新商品分类数据结果:{$error}\n";
|
|
|
}
|
|
|
break;
|
|
|
+ case 'UpdateUsdtPrice': // 更新USDT价格
|
|
|
+ // 时间限制
|
|
|
+ if(date('H:i') >= '01:00' && date('H:i') <= '04:00'){
|
|
|
+ echo "[Task {$taskName} {$date}] 不在运行时间段内\n";
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 调用处理
|
|
|
+ if($res = WalletService::make()->getBianRatePrice(true)){
|
|
|
+ $res = is_array($res) && $res? json_encode($res, 256) : 'success';
|
|
|
+ echo "[Task {$taskName} {$date}] 更新USDT价格结果:{$res}\n";
|
|
|
+ }else{
|
|
|
+ $error = WalletService::make()->getError();
|
|
|
+ $error = $error? lang($error) : 'failed';
|
|
|
+ echo "[Task {$taskName} {$date}] 更新USDT价格结果:{$error}\n";
|
|
|
+ }
|
|
|
+ break;
|
|
|
case 'GrantScore':
|
|
|
// 时间限制
|
|
|
if(date('H:i') >= '09:00'){
|