- 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: 新闻自动采集脚本
60 lines
1.5 KiB
PHP
Executable File
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;
|
|
}
|
|
}
|
|
|