Files
li 1b24994e74 feat: 后端全量更新 - 含所有本次需求
- Contract.php: 返回合约账户余额(balance_contract)
- My.php: 地址管理增加BTC/ETH
- AppContract.php: 一键平仓(closeall)
- AppProxy.php: 代理专属注册链接 + 分级权限(L1/L2)
- site.php: 手续费减半(0.018→0.009)
- agent_permission_setup.sql: 代理权限SQL
- crypto_news_crawler.py: 新闻自动采集脚本
2026-03-30 20:16:32 +08:00

60 lines
1.5 KiB
PHP
Executable File

<?php
namespace app\api\job;
use think\Log;
use think\queue\Job;
/**
* 消费者类
* 用于处理 dismiss_job_queue 队列中的任务
* 用于牌局解散
*/
class Dismiss
{
/**
* fire是消息队列默认调用的方法
* @param Job $job 当前的任务对象
* @param array|mixed $data 发布任务时自定义的数据
*/
public function fire(Job $job, $data)
{
//有效消息到达消费者时可能已经不再需要执行了
if(!$this->checkJob($data)){
$job->delete();
return;
}
//执行业务处理
if($this->doJob($data)){
$job->delete();//任务执行成功后删除
Log::log("dismiss job has been down and deleted");
}else{
//检查任务重试次数
if($job->attempts() > 3){
Log::log("dismiss job has been retried more that 3 times");
$job->delete();
}
}
}
/**
* 消息在到达消费者时可能已经不需要执行了
* @param array|mixed $data 发布任务时自定义的数据
* @return boolean 任务执行的结果
*/
private function checkJob($data)
{
$ts = $data["ts"];
$bizid = $data["bizid"];
$params = $data["params"];
return true;
}
/**
* 根据消息中的数据进行实际的业务处理
*/
private function doJob($data)
{
// 实际业务流程处理
return true;
}
}