Skip to content

Commit 4927eb7

Browse files
committed
Added chat batch job
1 parent ef2bd9e commit 4927eb7

File tree

4 files changed

+67
-0
lines changed

4 files changed

+67
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.gmail.merikbest2015.controller;
2+
3+
import com.gmail.merikbest2015.commons.constants.BatchJobConstants;
4+
import com.gmail.merikbest2015.commons.constants.PathConstants;
5+
import lombok.RequiredArgsConstructor;
6+
import lombok.SneakyThrows;
7+
import org.springframework.batch.core.Job;
8+
import org.springframework.batch.core.JobParameters;
9+
import org.springframework.batch.core.launch.JobLauncher;
10+
import org.springframework.beans.factory.annotation.Qualifier;
11+
import org.springframework.http.ResponseEntity;
12+
import org.springframework.web.bind.annotation.PostMapping;
13+
import org.springframework.web.bind.annotation.RequestMapping;
14+
import org.springframework.web.bind.annotation.RestController;
15+
16+
@RestController
17+
@RequiredArgsConstructor
18+
@RequestMapping(PathConstants.API_V1_CHAT)
19+
public class ChatJobController {
20+
21+
@Qualifier(BatchJobConstants.IMPORT_USER_JOB)
22+
private final Job job;
23+
private final JobLauncher jobLauncher;
24+
25+
@SneakyThrows
26+
@PostMapping(PathConstants.USER_BATCH_JOB)
27+
public ResponseEntity<Void> runImportUsersBatchJob() {
28+
jobLauncher.run(job, new JobParameters());
29+
return ResponseEntity.noContent().build();
30+
}
31+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.gmail.merikbest2015.client;
2+
3+
import com.gmail.merikbest2015.commons.configuration.FeignConfiguration;
4+
import com.gmail.merikbest2015.commons.constants.FeignConstants;
5+
import com.gmail.merikbest2015.commons.constants.PathConstants;
6+
import org.springframework.cloud.openfeign.FeignClient;
7+
import org.springframework.web.bind.annotation.PostMapping;
8+
9+
@FeignClient(name = FeignConstants.CHAT_SERVICE, path = PathConstants.API_V1_CHAT, configuration = FeignConfiguration.class)
10+
public interface ChatClient {
11+
12+
@PostMapping(PathConstants.USER_BATCH_JOB)
13+
void runImportUsersBatchJob();
14+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.gmail.merikbest2015.service.job;
2+
3+
import com.gmail.merikbest2015.client.ChatClient;
4+
import lombok.RequiredArgsConstructor;
5+
import org.quartz.Job;
6+
import org.quartz.JobExecutionContext;
7+
import org.springframework.stereotype.Component;
8+
9+
@Component
10+
@RequiredArgsConstructor
11+
public class ChatServiceFetchUsersJob implements Job {
12+
13+
private final ChatClient chatClient;
14+
15+
@Override
16+
public void execute(JobExecutionContext context) {
17+
chatClient.runImportUsersBatchJob();
18+
}
19+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
INSERT INTO qrtz_job_details (sched_name, job_name, job_group, description, job_class_name, is_durable, is_nonconcurrent, is_update_data, requests_recovery, job_data) VALUES ('quartzScheduler', 'TweetServiceFetchUsersJob', 'UserQuartzGroup', null, 'com.gmail.merikbest2015.service.job.TweetServiceFetchUsersJob', true, false, false, false, E'\\xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787000737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F40000000000010770800000010000000007800');
22
INSERT INTO qrtz_job_details (sched_name, job_name, job_group, description, job_class_name, is_durable, is_nonconcurrent, is_update_data, requests_recovery, job_data) VALUES ('quartzScheduler', 'TopicServiceFetchUsersJob', 'UserQuartzGroup', null, 'com.gmail.merikbest2015.service.job.TopicServiceFetchUsersJob', true, false, false, false, E'\\xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787000737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F40000000000010770800000010000000007800');
33
INSERT INTO qrtz_job_details (sched_name, job_name, job_group, description, job_class_name, is_durable, is_nonconcurrent, is_update_data, requests_recovery, job_data) VALUES ('quartzScheduler', 'ListsServiceFetchUsersJob', 'UserQuartzGroup', null, 'com.gmail.merikbest2015.service.job.ListsServiceFetchUsersJob', true, false, false, false, E'\\xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787000737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F40000000000010770800000010000000007800');
4+
INSERT INTO qrtz_job_details (sched_name, job_name, job_group, description, job_class_name, is_durable, is_nonconcurrent, is_update_data, requests_recovery, job_data) VALUES ('quartzScheduler', 'ChatServiceFetchUsersJob', 'UserQuartzGroup', null, 'com.gmail.merikbest2015.service.job.ChatServiceFetchUsersJob', true, false, false, false, E'\\xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787000737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F40000000000010770800000010000000007800');
45

56
INSERT INTO qrtz_triggers (sched_name, trigger_name, trigger_group, job_name, job_group, description, next_fire_time, prev_fire_time, priority, trigger_state, trigger_type, start_time, end_time, calendar_name, misfire_instr, job_data) VALUES ('quartzScheduler', 'TweetServiceFetchUsersJob', 'UserQuartzGroup', 'TweetServiceFetchUsersJob', 'UserQuartzGroup', null, 1733071800000, 1733071740000, 5, 'WAITING', 'CRON', 1733070259000, 0, null, 2, '');
67
INSERT INTO qrtz_triggers (sched_name, trigger_name, trigger_group, job_name, job_group, description, next_fire_time, prev_fire_time, priority, trigger_state, trigger_type, start_time, end_time, calendar_name, misfire_instr, job_data) VALUES ('quartzScheduler', 'TopicServiceFetchUsersJob', 'UserQuartzGroup', 'TopicServiceFetchUsersJob', 'UserQuartzGroup', null, 1733334600000, -1, 5, 'WAITING', 'CRON', 1733334457000, 0, null, 2, '');
78
INSERT INTO qrtz_triggers (sched_name, trigger_name, trigger_group, job_name, job_group, description, next_fire_time, prev_fire_time, priority, trigger_state, trigger_type, start_time, end_time, calendar_name, misfire_instr, job_data) VALUES ('quartzScheduler', 'ListsServiceFetchUsersJob', 'UserQuartzGroup', 'ListsServiceFetchUsersJob', 'UserQuartzGroup', null, 1733493900000, 1733493600000, 5, 'WAITING', 'CRON', 1733493559000, 0, null, 2, '');
9+
INSERT INTO qrtz_triggers (sched_name, trigger_name, trigger_group, job_name, job_group, description, next_fire_time, prev_fire_time, priority, trigger_state, trigger_type, start_time, end_time, calendar_name, misfire_instr, job_data) VALUES ('quartzScheduler', 'ChatServiceFetchUsersJob', 'UserQuartzGroup', 'ChatServiceFetchUsersJob', 'UserQuartzGroup', null, 1733493900000, 1733493600000, 5, 'WAITING', 'CRON', 1733493575000, 0, null, 2, '');
810

911
INSERT INTO qrtz_cron_triggers (sched_name, trigger_name, trigger_group, cron_expression, time_zone_id) VALUES ('quartzScheduler', 'TweetServiceFetchUsersJob', 'UserQuartzGroup', '0 0/5 * * * ?', 'UTC');
1012
INSERT INTO qrtz_cron_triggers (sched_name, trigger_name, trigger_group, cron_expression, time_zone_id) VALUES ('quartzScheduler', 'TopicServiceFetchUsersJob', 'UserQuartzGroup', '0 0/5 * * * ?', 'UTC');
1113
INSERT INTO qrtz_cron_triggers (sched_name, trigger_name, trigger_group, cron_expression, time_zone_id) VALUES ('quartzScheduler', 'ListsServiceFetchUsersJob', 'UserQuartzGroup', '0 0/5 * * * ?', 'UTC');
14+
INSERT INTO qrtz_cron_triggers (sched_name, trigger_name, trigger_group, cron_expression, time_zone_id) VALUES ('quartzScheduler', 'ChatServiceFetchUsersJob', 'UserQuartzGroup', '0 0/5 * * * ?', 'UTC');

0 commit comments

Comments
 (0)