MarginaliaSearch/code/execution/java/nu/marginalia/process/ProcessOutboxes.java
Viktor Lofgren a91ab4c203 (live-crawler) Crude first-try process for live crawling #WIP
Some refactoring is still needed, but an dummy actor is in place and a process that crawls URLs from the livecapture service's RSS endpoints; that makes it all the way to being indexable.
2024-11-19 19:35:01 +01:00

75 lines
2.5 KiB
Java

package nu.marginalia.process;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import nu.marginalia.mq.outbox.MqOutbox;
import nu.marginalia.mq.persistence.MqPersistence;
import nu.marginalia.mqapi.ProcessInboxNames;
import nu.marginalia.service.server.BaseServiceParams;
@Singleton
public class ProcessOutboxes {
private final MqOutbox converterOutbox;
private final MqOutbox loaderOutbox;
private final MqOutbox crawlerOutbox;
private final MqOutbox indexConstructorOutbox;
private final MqOutbox liveCrawlerOutbox;
@Inject
public ProcessOutboxes(BaseServiceParams params, MqPersistence persistence) {
converterOutbox = new MqOutbox(persistence,
ProcessInboxNames.CONVERTER_INBOX,
params.configuration.node(),
params.configuration.serviceName(),
params.configuration.node(),
params.configuration.instanceUuid()
);
loaderOutbox = new MqOutbox(persistence,
ProcessInboxNames.LOADER_INBOX,
params.configuration.node(),
params.configuration.serviceName(),
params.configuration.node(),
params.configuration.instanceUuid()
);
crawlerOutbox = new MqOutbox(persistence,
ProcessInboxNames.CRAWLER_INBOX,
params.configuration.node(),
params.configuration.serviceName(),
params.configuration.node(),
params.configuration.instanceUuid()
);
indexConstructorOutbox = new MqOutbox(persistence,
ProcessInboxNames.INDEX_CONSTRUCTOR_INBOX,
params.configuration.node(),
params.configuration.serviceName(),
params.configuration.node(),
params.configuration.instanceUuid()
);
liveCrawlerOutbox = new MqOutbox(persistence,
ProcessInboxNames.LIVE_CRAWLER_INBOX,
params.configuration.node(),
params.configuration.serviceName(),
params.configuration.node(),
params.configuration.instanceUuid()
);
}
public MqOutbox getConverterOutbox() {
return converterOutbox;
}
public MqOutbox getLoaderOutbox() {
return loaderOutbox;
}
public MqOutbox getCrawlerOutbox() {
return crawlerOutbox;
}
public MqOutbox getIndexConstructorOutbox() { return indexConstructorOutbox; }
public MqOutbox getLiveCrawlerOutbox() { return liveCrawlerOutbox; }
}