Spots: the spotter and the spot inspector, passwords kept apart
Two processes, one NNTP connection each (the coordinator 40 -> 38): - spots:read (service spotter): free.pt's overviews after the last article seen, each spot's full header verified (lib/spotnet from voyager 1, as Spotweb), its description, website and NZB articles; the password its title or text names; delete/dispose messages applied. - spots:inspect (service spot-inspector): each spot's compressed NZB read, its files listed (spot_files), each matched to the header pass's release by the same release identity in one of its groups within 48 h (release_spots); unmatched spots matched again hourly, after 24 h a release of their own (source spot) with the spot's NZB. - release_passwords: per release and password, its source (nzb, spot-title, spot-text) and spot; the catalog keeps only passworded. XoverClient.head(); PROBE_CONNECTIONS default 10. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
3fd08b598a
commit
7df5a638ca
20 files changed
+1782
-8
No files matched your search
@@ -77,6 +77,19 @@ export default {
|
||||
/** BODY commands in flight per connection (pipelined; XoverClient.bodies). */
|
||||
pipeline: env.get('PROBE_PIPELINE', 8),
|
||||
},
|
||||
/**
|
||||
* Spotnet spots (app/services/spotter.ts, spot_inspector.ts): the group the spots are posted in, how many of
|
||||
* its last articles the spotter reads the first time (~215 spots a day: ~3 months), how often it looks again,
|
||||
* the most articles an NZB may take, and how long an inspected spot whose files match no release waits for
|
||||
* the header pass before it becomes a release of its own.
|
||||
*/
|
||||
spots: {
|
||||
group: env.get('SPOT_GROUP', 'free.pt'),
|
||||
backfill: env.get('SPOT_BACKFILL', 20_000),
|
||||
everySeconds: env.get('SPOT_EVERY_SECONDS', 120),
|
||||
maxNzbSegments: env.get('SPOT_MAX_NZB_SEGMENTS', 64),
|
||||
standaloneAfterHours: env.get('SPOT_STANDALONE_AFTER_HOURS', 24),
|
||||
},
|
||||
/** Stored XOVER chunks of ranges marked `capture`, for the grouping sweeps (app/services/corpus.ts). Off when unset. */
|
||||
corpus: {
|
||||
dir: env.get('CORPUS_DIR'),
|
||||
|
||||
Reference in new issue
Block a user