Topcoder Elasticsearch Feeder Service - Jobs Cleanup And Improvement

Register
Submit a solution
The challenge is finished.

Challenge Overview

For this challenge,we'd like to make several cleanup and improvement for jobs in elasticsearch feeder service.

Notes, Please use the listing-detail-indexes branch for deveopment.

1. Remove com.appirio.service.challengefeeder.job.StartupJob class.
2. Remove com.appirio.service.challengefeeder.job.LegacyMMToChallengeJob class, and related classes and configuration used only by this class.
3. Remove com.appirio.service.challengefeeder.job.LoadChangedChallengesJob, and related classes and configuration used only by this class.
4. Simplify Redis Keys used in Jobs, currently, when defining a job, we need to define index name, type name, last run timestamp, job locker key name, this makes thing complex, we'd like to do
4.1 For type in index, use default name like challengesmmatches or srms.
4.2 For last run timestamp, job locker key name, make them created from the index name, like if the index name is challenge-listing, the key name for last run timestamp should be challenge-listing.job.lastrun.timestamp, the job key can be challenge-listing.job.locker
4.3 Basically, for a job, we just need to define the name for elasticsearch index.
5. Improve Job Configuation, we'd like to have different configuation section for different job, instead of put togather like  https://github.com/topcoder-platform/tc-elasticsearch-feeder-service/blob/listing-detail-indexes/src/main/resources/elasticsearch-feeder-service.yaml#L54-L101
6. Way to Disable/Enable a job, we'd like to the job to check a redis key like challenge-listing.job.enabled to determine if it needs to do future processing, for example, if challenge-listing.job.enabled is missing (by default) or false, the job will do nothing.

For example, separate configuation for redissonConfiguration, separate configuartion for LoadChangedChallengesListingJob else.

This makes things better managed.

Local Setup

Please follow https://github.com/topcoder-platform/tc-elasticsearch-feeder-service/blob/dev/README.md to run locally.

 

Final Submission Guidelines

- Code Changes
- Verification Steps

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30065921