Move `AccountCleaner` into its own crawler
This commit is contained in:
parent
418a869451
commit
d452e90470
|
@ -527,15 +527,21 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
|
||||||
config.getAccountDatabaseCrawlerConfiguration().getChunkIntervalMs()
|
config.getAccountDatabaseCrawlerConfiguration().getChunkIntervalMs()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
AccountDatabaseCrawlerCache accountCleanerAccountDatabaseCrawlerCache =
|
||||||
|
new AccountDatabaseCrawlerCache(cacheCluster, AccountDatabaseCrawlerCache.ACCOUNT_CLEANER_PREFIX);
|
||||||
|
AccountDatabaseCrawler accountCleanerAccountDatabaseCrawler = new AccountDatabaseCrawler("Account cleaner crawler",
|
||||||
|
accountsManager,
|
||||||
|
accountCleanerAccountDatabaseCrawlerCache, List.of(new AccountCleaner(accountsManager)),
|
||||||
|
config.getAccountDatabaseCrawlerConfiguration().getChunkSize(),
|
||||||
|
config.getAccountDatabaseCrawlerConfiguration().getChunkIntervalMs()
|
||||||
|
);
|
||||||
|
|
||||||
// TODO listeners must be ordered so that ones that directly update accounts come last, so that read-only ones are not working with stale data
|
// TODO listeners must be ordered so that ones that directly update accounts come last, so that read-only ones are not working with stale data
|
||||||
final List<AccountDatabaseCrawlerListener> accountDatabaseCrawlerListeners = List.of(
|
final List<AccountDatabaseCrawlerListener> accountDatabaseCrawlerListeners = List.of(
|
||||||
new NonNormalizedAccountCrawlerListener(accountsManager, metricsCluster),
|
new NonNormalizedAccountCrawlerListener(accountsManager, metricsCluster),
|
||||||
new ContactDiscoveryWriter(accountsManager),
|
new ContactDiscoveryWriter(accountsManager),
|
||||||
// PushFeedbackProcessor may update device properties
|
// PushFeedbackProcessor may update device properties
|
||||||
new PushFeedbackProcessor(accountsManager),
|
new PushFeedbackProcessor(accountsManager));
|
||||||
// delete accounts last
|
|
||||||
new AccountCleaner(accountsManager)
|
|
||||||
);
|
|
||||||
|
|
||||||
AccountDatabaseCrawlerCache accountDatabaseCrawlerCache = new AccountDatabaseCrawlerCache(cacheCluster,
|
AccountDatabaseCrawlerCache accountDatabaseCrawlerCache = new AccountDatabaseCrawlerCache(cacheCluster,
|
||||||
AccountDatabaseCrawlerCache.GENERAL_PURPOSE_PREFIX);
|
AccountDatabaseCrawlerCache.GENERAL_PURPOSE_PREFIX);
|
||||||
|
@ -559,6 +565,7 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
|
||||||
environment.lifecycle().manage(messageSender);
|
environment.lifecycle().manage(messageSender);
|
||||||
environment.lifecycle().manage(accountDatabaseCrawler);
|
environment.lifecycle().manage(accountDatabaseCrawler);
|
||||||
environment.lifecycle().manage(directoryReconciliationAccountDatabaseCrawler);
|
environment.lifecycle().manage(directoryReconciliationAccountDatabaseCrawler);
|
||||||
|
environment.lifecycle().manage(accountCleanerAccountDatabaseCrawler);
|
||||||
environment.lifecycle().manage(deletedAccountsTableCrawler);
|
environment.lifecycle().manage(deletedAccountsTableCrawler);
|
||||||
environment.lifecycle().manage(messagesCache);
|
environment.lifecycle().manage(messagesCache);
|
||||||
environment.lifecycle().manage(messagePersister);
|
environment.lifecycle().manage(messagePersister);
|
||||||
|
|
|
@ -18,6 +18,7 @@ public class AccountDatabaseCrawlerCache {
|
||||||
|
|
||||||
public static final String GENERAL_PURPOSE_PREFIX = "";
|
public static final String GENERAL_PURPOSE_PREFIX = "";
|
||||||
public static final String DIRECTORY_RECONCILER_PREFIX = "directory-reconciler";
|
public static final String DIRECTORY_RECONCILER_PREFIX = "directory-reconciler";
|
||||||
|
public static final String ACCOUNT_CLEANER_PREFIX = "account-cleaner";
|
||||||
|
|
||||||
private static final String ACTIVE_WORKER_KEY = "account_database_crawler_cache_active_worker";
|
private static final String ACTIVE_WORKER_KEY = "account_database_crawler_cache_active_worker";
|
||||||
private static final String LAST_UUID_KEY = "account_database_crawler_cache_last_uuid";
|
private static final String LAST_UUID_KEY = "account_database_crawler_cache_last_uuid";
|
||||||
|
|
Loading…
Reference in New Issue