TASK:aida;

This commit is contained in:
shahaibo
2024-09-27 16:43:02 +08:00
parent 41ffe335fc
commit deda511e32
8 changed files with 104 additions and 108 deletions

View File

@@ -14,6 +14,7 @@ import org.apache.tomcat.jni.Time;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@@ -30,6 +31,9 @@ public class GenerateConsumer {
@Resource
private GenerateService generateService;
@Autowired
private RabbitMQProperties rabbitMQProperties;
@Resource
private RedisUtil redisUtil;
@@ -243,73 +247,73 @@ public class GenerateConsumer {
log.info("============ProcessRelightResult End listening==========");
}
@RabbitListener(queues = MQConfig.GENERATE_QUEUE)
@RabbitListener(queues = "#{rabbitMQProperties.queues.generate}")
@RabbitHandler
public void generateConsumer1(Message msg, Channel channel) {
generate(msg, channel, "consumer 1");
}
@RabbitListener(queues = MQConfig.GENERATE_QUEUE)
@RabbitListener(queues = "#{rabbitMQProperties.queues.generate}")
@RabbitHandler
public void generateConsumer2(Message msg, Channel channel) {
generate(msg, channel, "consumer 2");
}
@RabbitListener(queues = MQConfig.GENERATE_QUEUE)
@RabbitListener(queues = "#{rabbitMQProperties.queues.generate}")
@RabbitHandler
public void generateConsumer3(Message msg, Channel channel) {
generate(msg, channel, "consumer 3");
}
@RabbitListener(queues = MQConfig.GENERATE_QUEUE)
@RabbitListener(queues = "#{rabbitMQProperties.queues.generate}")
@RabbitHandler
public void generateConsumer4(Message msg, Channel channel) {
generate(msg, channel, "consumer 4");
}
@RabbitListener(queues = MQConfig.GENERATE_QUEUE)
@RabbitListener(queues = "#{rabbitMQProperties.queues.generate}")
@RabbitHandler
public void generateConsumer5(Message msg, Channel channel) {
generate(msg, channel, "consumer 5");
}
@RabbitListener(queues = MQConfig.GENERATE_QUEUE)
@RabbitListener(queues = "#{rabbitMQProperties.queues.generate}")
@RabbitHandler
public void generateConsumer6(Message msg, Channel channel) {
generate(msg, channel, "consumer 6");
}
@RabbitListener(queues = MQConfig.GENERATE_QUEUE)
@RabbitListener(queues = "#{rabbitMQProperties.queues.generate}")
@RabbitHandler
public void generateConsumer7(Message msg, Channel channel) {
generate(msg, channel, "consumer 7");
}
@RabbitListener(queues = MQConfig.GENERATE_QUEUE)
@RabbitListener(queues = "#{rabbitMQProperties.queues.generate}")
@RabbitHandler
public void generateConsumer8(Message msg, Channel channel) {
generate(msg, channel, "consumer 8");
}
@RabbitListener(queues = MQConfig.GENERATE_QUEUE)
@RabbitListener(queues = "#{rabbitMQProperties.queues.generate}")
@RabbitHandler
public void generateConsumer9(Message msg, Channel channel) {
generate(msg, channel, "consumer 9");
}
@RabbitListener(queues = MQConfig.GENERATE_RESULT_QUEUE)
@RabbitListener(queues = "#{rabbitMQProperties.queues.generateResult}")
@RabbitHandler
public void getGenerateResult(Message msg, Channel channel) {
processGenerateResult(msg, channel);
}
@RabbitListener(queues = MQConfig.TO_PRODUCT_IMAGE_RESULT_QUEUE)
@RabbitListener(queues = "#{rabbitMQProperties.queues.toProductImageResult}")
@RabbitHandler
public void getToProductImageResult(Message msg, Channel channel) {
processToProductImageResult(msg, channel);
}
@RabbitListener(queues = MQConfig.RELIGHT_RESULT_QUEUE)
@RabbitListener(queues = "#{rabbitMQProperties.queues.relightResult}")
@RabbitHandler
public void getRelightResult(Message msg, Channel channel) {
processRelightResult(msg, channel);

View File

@@ -1,89 +1,43 @@
package com.ai.da.common.RabbitMQ;
import org.springframework.amqp.core.Queue;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
@Configuration
public class MQConfig {
// 定义为非静态变量
@Value("${generate.exchange}")
private String generateExchange;
@Autowired
private RabbitMQProperties rabbitMQProperties;
@Value("${generate.queue}")
private String generateQueue;
@Value("${sr.queue}")
private String srQueue;
@Value("${sr.result.queue}")
private String srResultQueue;
@Value("${generate.result.queue}")
private String generateResultQueue;
@Value("${to.product.image.result.queue}")
private String toProductImageResultQueue;
@Value("${relight.result.queue}")
private String relightResultQueue;
// 定义静态变量以供外部访问
public static String GENERATE_EXCHANGE;
public static String GENERATE_QUEUE;
public static String SR_QUEUE;
public static String SR_RESULT_QUEUE;
public static String GENERATE_RESULT_QUEUE;
public static String TO_PRODUCT_IMAGE_RESULT_QUEUE;
public static String RELIGHT_RESULT_QUEUE;
// 使用 @PostConstruct 在 bean 初始化之后,将实例变量值赋给静态变量
@PostConstruct
public void init() {
GENERATE_EXCHANGE = this.generateExchange;
GENERATE_QUEUE = this.generateQueue;
SR_QUEUE = this.srQueue;
SR_RESULT_QUEUE = this.srResultQueue;
GENERATE_RESULT_QUEUE = this.generateResultQueue;
TO_PRODUCT_IMAGE_RESULT_QUEUE = this.toProductImageResultQueue;
RELIGHT_RESULT_QUEUE = this.relightResultQueue;
}
public MQConfig() {
}
// @Bean
// FanoutExchange fanoutRasaExchange() {
// return new FanoutExchange(GENERATE_EXCHANGE_FANOUT);
// }
/**
* 创建队列,使用工作模式,不用定义交换机
*/
@Bean
public Queue generateQueue() {
return new Queue(GENERATE_QUEUE);
return new Queue(rabbitMQProperties.getQueues().getGenerate());
}
@Bean
public Queue SRQueue() {
return new Queue(SR_QUEUE);
return new Queue(rabbitMQProperties.getQueues().getSr());
}
@Bean
public Queue SRResultQueue() {
return new Queue(SR_RESULT_QUEUE);
return new Queue(rabbitMQProperties.getQueues().getSrResult());
}
/**
* 将队列绑定到交换机上【队列订阅交换机】
*/
// @Bean
// Binding bindingExchangeRasa() {
// return BindingBuilder.bind(queueRasa()).to(fanoutRasaExchange());
// }
@Bean
public Queue generateResultQueue() {
return new Queue(rabbitMQProperties.getQueues().getGenerateResult());
}
@Bean
public Queue toProductImageResultQueue() {
return new Queue(rabbitMQProperties.getQueues().getToProductImageResult());
}
@Bean
public Queue relightResultQueue() {
return new Queue(rabbitMQProperties.getQueues().getRelightResult());
}
}

View File

@@ -2,6 +2,7 @@ package com.ai.da.common.RabbitMQ;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -10,19 +11,19 @@ import javax.annotation.Resource;
@Component
public class MQPublisher {
// private final String url = "http://localhost:15672/api/queues/%2f/generate-queue";
@Autowired
private RabbitMQProperties rabbitMQProperties;
@Resource
@Autowired
private AmqpTemplate amqpTemplate;
public void sendGenerateMessage(String mm) {
log.info("send message:" + mm);
amqpTemplate.convertAndSend(MQConfig.GENERATE_QUEUE, mm);
log.info("send message: " + mm);
amqpTemplate.convertAndSend(rabbitMQProperties.getQueues().getGenerate(), mm);
}
public void sendSRMessage(String mm) {
log.info("send message:" + mm);
amqpTemplate.convertAndSend(MQConfig.SR_QUEUE, mm);
log.info("send message: " + mm);
amqpTemplate.convertAndSend(rabbitMQProperties.getQueues().getSr(), mm);
}
}

View File

@@ -0,0 +1,30 @@
package com.ai.da.common.RabbitMQ;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "rabbitmq")
@Data
public class RabbitMQProperties {
private Queues queues;
private Exchange exchange;
@Data
public static class Queues {
private String generate;
private String sr;
private String srResult;
private String generateResult;
private String toProductImageResult;
private String relightResult;
}
@Data
public static class Exchange {
private String generate;
}
}

View File

@@ -15,6 +15,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@@ -27,6 +28,9 @@ import java.util.HashMap;
@Component
public class SRConsumer {
@Autowired
private RabbitMQProperties rabbitMQProperties;
@Resource
private RedisUtil redisUtil;
@@ -218,14 +222,13 @@ public class SRConsumer {
taskListService.updateTaskStatusOrOutputRedis(uniqueId, "fail", null);
}
@RabbitListener(queues = MQConfig.SR_QUEUE)
@RabbitListener(queues = "#{rabbitMQProperties.queues.sr}")
@RabbitHandler
public void SRConsumer1(Message msg, Channel channel) {
superResolution(msg, channel, "consumer 1");
}
@RabbitListener(queues = MQConfig.SR_RESULT_QUEUE)
@RabbitListener(queues = "#{rabbitMQProperties.queues.srResult}")
@RabbitHandler
public void SRResultConsumer1(Message msg, Channel channel) {
getSRResult(msg, channel, "consumer 1");

View File

@@ -95,10 +95,10 @@ aws.s3.secretKey=LNIwFFB27/QedtZ+Q/viVUoX9F5x1DbuM8N0DkD8
aws.s3.regionName=ap-east-1
# RabbitMQ Exchange and Queue configurations
generate.exchange=generate-exchange
generate.queue=generate-queue-dev
sr.queue=SR-queue-dev
sr.result.queue=SuperResolution-dev
generate.result.queue=GenerateImage-dev
to.product.image.result.queue=ToProductImage-dev
relight.result.queue=Relight-dev
rabbitmq.queues.generate=generate-queue-dev
rabbitmq.queues.sr=SR-queue-dev
rabbitmq.queues.srResult=SuperResolution-dev
rabbitmq.queues.generateResult=GenerateImage-dev
rabbitmq.queues.toProductImageResult=ToProductImage-dev
rabbitmq.queues.relightResult=Relight-dev
rabbitmq.exchange.generate=generate-exchange

View File

@@ -96,10 +96,10 @@ aws.s3.secretKey=LNIwFFB27/QedtZ+Q/viVUoX9F5x1DbuM8N0DkD8
aws.s3.regionName=ap-east-1
# RabbitMQ Exchange and Queue configurations
generate.exchange=generate-exchange
generate.queue=generate-queue-prod
sr.queue=SR-queue-prod
sr.result.queue=SuperResolution-prod
generate.result.queue=GenerateImage-prod
to.product.image.result.queue=ToProductImage-prod
relight.result.queue=Relight-prod
rabbitmq.queues.generate=generate-queue-prod
rabbitmq.queues.sr=SR-queue-prod
rabbitmq.queues.srResult=SuperResolution-prod
rabbitmq.queues.generateResult=GenerateImage-prod
rabbitmq.queues.toProductImageResult=ToProductImage-prod
rabbitmq.queues.relightResult=Relight-prod
rabbitmq.exchange.generate=generate-exchange

View File

@@ -87,11 +87,15 @@ redis.key.taskList=TaskList
redis.key.credits.pre-deduction=Credits:PreDeduction
redis.key.generateResult=Generate:Result
aws.s3.accessKeyId=AKIAVD3OJIMF6UJFLSHZ
aws.s3.secretKey=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
aws.s3.regionName=ap-east-1
# RabbitMQ Exchange and Queue configurations
generate.exchange=generate-exchange
generate.queue=generate-queue-test
sr.queue=SR-queue-test
sr.result.queue=SuperResolution-test
generate.result.queue=GenerateImage-test
to.product.image.result.queue=ToProductImage-test
relight.result.queue=Relight-test
rabbitmq.queues.generate=generate-queue-test
rabbitmq.queues.sr=SR-queue-test
rabbitmq.queues.srResult=SuperResolution-test
rabbitmq.queues.generateResult=GenerateImage-test
rabbitmq.queues.toProductImageResult=ToProductImage-test
rabbitmq.queues.relightResult=Relight-test
rabbitmq.exchange.generate=generate-exchange