chore: move rabbitmq queue names to env

This commit is contained in:
Rodrigo Verdiani 2025-11-29 18:47:23 -03:00
parent 4a66797c79
commit e17fe0e01e
13 changed files with 60 additions and 32 deletions

15
.env
View File

@ -1,4 +1,4 @@
DB_URL=jdbc:postgresql://localhost:5432/mangamochi?currentSchema=mangamochi
DB_URL=jdbc:postgresql://postgres.badger-pirarucu.ts.net:5432/mangamochi_dev?currentSchema=mangamochi_dev
DB_USER=mangamochi
DB_PASS=mangamochi
@ -7,15 +7,14 @@ MINIO_USER=rov
MINIO_PASS=!E9v4i0v3
FLARESOLVERR_ENDPOINT=https://flare-solverr.badger-pirarucu.ts.net
WEBSCRAPPER_ENDPOINT=http://mangamochi.badger-pirarucu.ts.net:8090/url
MANGAMATCHER_ENDPOINT=http://mangamochi.badger-pirarucu.ts.net:8000/match-title
MANGADEX_USER=rocverde
MANGADEX_PASS=!A3u8e4s0
MANGADEX_CLIENT_ID=personal-client-3c21667a-6de3-4273-94c4-e6014690f128-68830913
MANGADEX_CLIENT_SECRET=fXwbnGLhXqqpGrznQeX3uYQDxj6hyWbS
RABBITMQ_HOST=localhost
RABBITMQ_HOST=rabbitmq.badger-pirarucu.ts.net
RABBITMQ_PORT=5672
RABBITMQ_USERNAME=guest
RABBITMQ_PASSWORD=guest
MANGA_DATA_UPDATE_QUEUE=mangaDataUpdateQueueDev
MANGA_CHAPTER_DOWNLOAD_QUEUE=mangaChapterDownloadQueueDev
MANGA_LIST_UPDATE_QUEUE=mangaListUpdateQueueDev
MANGA_FOLLOW_UPDATE_CHAPTER_QUEUE=mangaFollowUpdateChapterQueueDev

20
.env.example Normal file
View File

@ -0,0 +1,20 @@
DB_URL=jdbc:postgresql://localhost:5432/mangamochi?currentSchema=mangamochi
DB_USER=
DB_PASS=
MINIO_ENDPOINT=http://localhost:9000
MINIO_USER=
MINIO_PASS=
FLARESOLVERR_ENDPOINT=localhost:8191
MANGAMATCHER_ENDPOINT=localhost:8000
RABBITMQ_HOST=localhost
RABBITMQ_PORT=5672
RABBITMQ_USERNAME=guest
RABBITMQ_PASSWORD=guest
MANGA_DATA_UPDATE_QUEUE=mangaDataUpdateQueueSample
MANGA_CHAPTER_DOWNLOAD_QUEUE=mangaChapterDownloadQueueSample
MANGA_LIST_UPDATE_QUEUE=mangaListUpdateQueueSample
MANGA_FOLLOW_UPDATE_CHAPTER_QUEUE=mangaFollowUpdateChapterQueueSample

2
.gitignore vendored
View File

@ -139,6 +139,8 @@ fabric.properties
*.tar.gz
*.rar
.env
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
replay_pid*

View File

@ -4,34 +4,42 @@ import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class RabbitConfig {
public static final String MANGA_DATA_UPDATE_QUEUE = "mangaDataUpdateQueue";
public static final String MANGA_CHAPTER_DOWNLOAD_QUEUE = "mangaChapterDownloadQueue";
public static final String MANGA_LIST_UPDATE_QUEUE = "mangaListUpdateQueue";
public static final String MANGA_FOLLOW_UPDATE_CHAPTER_QUEUE = "mangaFollowUpdateChapterQueue";
@Value("${rabbit-mq.queues.manga-data-update}")
private String mangaDataUpdateQueue;
@Value("${rabbit-mq.queues.manga-chapter-download}")
private String mangaChapterDownloadQueue;
@Value("${rabbit-mq.queues.manga-list-update}")
private String mangaListUpdateQueue;
@Value("${rabbit-mq.queues.manga-follow-update-chapter}")
private String mangaFollowUpdateChapterQueue;
@Bean
public Queue mangaDataUpdateQueue() {
return new Queue(MANGA_DATA_UPDATE_QUEUE, false);
return new Queue(mangaDataUpdateQueue, false);
}
@Bean
public Queue mangaChapterDownloadQueue() {
return new Queue(MANGA_CHAPTER_DOWNLOAD_QUEUE, false);
return new Queue(mangaChapterDownloadQueue, false);
}
@Bean
public Queue mangaListUpdateQueue() {
return new Queue(MANGA_LIST_UPDATE_QUEUE, false);
return new Queue(mangaListUpdateQueue, false);
}
@Bean
public Queue mangaFollowUpdateChapterQueue() {
return new Queue(MANGA_FOLLOW_UPDATE_CHAPTER_QUEUE, false);
return new Queue(mangaFollowUpdateChapterQueue, false);
}
@Bean

View File

@ -1,6 +1,5 @@
package com.magamochi.mangamochi.queue;
import com.magamochi.mangamochi.config.RabbitConfig;
import com.magamochi.mangamochi.model.dto.MangaChapterDownloadCommand;
import com.magamochi.mangamochi.service.MangaChapterService;
import lombok.RequiredArgsConstructor;
@ -14,7 +13,7 @@ import org.springframework.stereotype.Service;
public class MangaChapterDownloadConsumer {
private final MangaChapterService mangaChapterService;
@RabbitListener(queues = RabbitConfig.MANGA_CHAPTER_DOWNLOAD_QUEUE)
@RabbitListener(queues = "${rabbit-mq.queues.manga-chapter-download}")
public void receiveMangaChapterDownloadCommand(MangaChapterDownloadCommand command) {
log.info("Received manga chapter download command: {}", command);

View File

@ -1,6 +1,5 @@
package com.magamochi.mangamochi.queue;
import com.magamochi.mangamochi.config.RabbitConfig;
import com.magamochi.mangamochi.model.dto.MangaChapterDownloadCommand;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
@ -14,7 +13,7 @@ public class MangaChapterDownloadProducer {
private final RabbitTemplate rabbitTemplate;
public void sendMangaChapterDownloadCommand(MangaChapterDownloadCommand command) {
rabbitTemplate.convertAndSend(RabbitConfig.MANGA_CHAPTER_DOWNLOAD_QUEUE, command);
rabbitTemplate.convertAndSend("${rabbit-mq.queues.manga-chapter-download}", command);
log.info("Sent manga chapter download command: {}", command);
}
}

View File

@ -1,6 +1,5 @@
package com.magamochi.mangamochi.queue;
import com.magamochi.mangamochi.config.RabbitConfig;
import com.magamochi.mangamochi.model.dto.UpdateMangaDataCommand;
import com.magamochi.mangamochi.service.MangaImportService;
import lombok.RequiredArgsConstructor;
@ -14,7 +13,7 @@ import org.springframework.stereotype.Service;
public class UpdateMangaDataConsumer {
private final MangaImportService mangaImportService;
@RabbitListener(queues = RabbitConfig.MANGA_DATA_UPDATE_QUEUE)
@RabbitListener(queues = "${rabbit-mq.queues.manga-data-update}")
public void receiveUpdateMangaDataCommand(UpdateMangaDataCommand command) {
log.info("Received update manga data command: {}", command);
mangaImportService.updateMangaData(command.mangaId());

View File

@ -1,6 +1,5 @@
package com.magamochi.mangamochi.queue;
import com.magamochi.mangamochi.config.RabbitConfig;
import com.magamochi.mangamochi.model.dto.UpdateMangaDataCommand;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
@ -14,7 +13,7 @@ public class UpdateMangaDataProducer {
private final RabbitTemplate rabbitTemplate;
public void sendUpdateMangaDataCommand(UpdateMangaDataCommand command) {
rabbitTemplate.convertAndSend(RabbitConfig.MANGA_DATA_UPDATE_QUEUE, command);
rabbitTemplate.convertAndSend("${rabbit-mq.queues.manga-data-update}", command);
log.info("Sent update manga data command: {}", command);
}
}

View File

@ -1,6 +1,5 @@
package com.magamochi.mangamochi.queue;
import com.magamochi.mangamochi.config.RabbitConfig;
import com.magamochi.mangamochi.model.dto.UpdateMangaFollowChapterListCommand;
import com.magamochi.mangamochi.service.MangaService;
import lombok.RequiredArgsConstructor;
@ -14,7 +13,7 @@ import org.springframework.stereotype.Service;
public class UpdateMangaFollowChapterListConsumer {
private final MangaService mangaService;
@RabbitListener(queues = RabbitConfig.MANGA_FOLLOW_UPDATE_CHAPTER_QUEUE)
@RabbitListener(queues = "${rabbit-mq.queues.manga-follow-update-chapter}")
public void receiveMangaFollowUpdateChapterCommand(UpdateMangaFollowChapterListCommand command) {
log.info("Received update followed manga chapter list command: {}", command);
mangaService.fetchFollowedMangaChapters(command.mangaProviderId());

View File

@ -1,6 +1,5 @@
package com.magamochi.mangamochi.queue;
import com.magamochi.mangamochi.config.RabbitConfig;
import com.magamochi.mangamochi.model.dto.UpdateMangaFollowChapterListCommand;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
@ -14,7 +13,7 @@ public class UpdateMangaFollowChapterListProducer {
private final RabbitTemplate rabbitTemplate;
public void sendUpdateMangaFollowChapterListCommand(UpdateMangaFollowChapterListCommand command) {
rabbitTemplate.convertAndSend(RabbitConfig.MANGA_FOLLOW_UPDATE_CHAPTER_QUEUE, command);
rabbitTemplate.convertAndSend("${rabbit-mq.queues.manga-follow-update-chapter}", command);
log.info("Sent update followed manga chapter list command: {}", command);
}
}

View File

@ -1,6 +1,5 @@
package com.magamochi.mangamochi.queue;
import com.magamochi.mangamochi.config.RabbitConfig;
import com.magamochi.mangamochi.model.dto.MangaListUpdateCommand;
import com.magamochi.mangamochi.service.MangaListService;
import lombok.RequiredArgsConstructor;
@ -14,7 +13,7 @@ import org.springframework.stereotype.Service;
public class UpdateMangaListConsumer {
private final MangaListService mangaListService;
@RabbitListener(queues = RabbitConfig.MANGA_LIST_UPDATE_QUEUE)
@RabbitListener(queues = "${rabbit-mq.queues.manga-list-update}")
public void receiveUpdateMangaListCommand(MangaListUpdateCommand command) {
log.info("Received update manga list command: {}", command);
mangaListService.updateMangaList(command.contentProviderName(), command.page());

View File

@ -1,6 +1,5 @@
package com.magamochi.mangamochi.queue;
import com.magamochi.mangamochi.config.RabbitConfig;
import com.magamochi.mangamochi.model.dto.MangaListUpdateCommand;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
@ -14,7 +13,7 @@ public class UpdateMangaListProducer {
private final RabbitTemplate rabbitTemplate;
public void sendUpdateMangaListCommand(MangaListUpdateCommand command) {
rabbitTemplate.convertAndSend(RabbitConfig.MANGA_LIST_UPDATE_QUEUE, command);
rabbitTemplate.convertAndSend("${rabbit-mq.queues.manga-list-update}", command);
log.info("Sent update manga list command: {}", command);
}
}

View File

@ -78,6 +78,13 @@ resilience4j:
retry-exceptions:
- feign.FeignException
rabbit-mq:
queues:
manga-data-update: ${MANGA_DATA_UPDATE_QUEUE:mangaDataUpdateQueue}
manga-chapter-download: ${MANGA_CHAPTER_DOWNLOAD_QUEUE:mangaChapterDownloadQueue}
manga-list-update: ${MANGA_LIST_UPDATE_QUEUE:mangaListUpdateQueue}
manga-follow-update-chapter: ${MANGA_FOLLOW_UPDATE_CHAPTER_QUEUE:mangaFollowUpdateChapterQueue}
image-service:
clean-up-enabled: ${IMAGE_SERVICE_CLEAN_UP_ENABLED:false}
cron-expression: "@weekly"