chiark / gitweb /
wip split into multiple files and make compile
[inn-innduct.git] / README.notes
1 NEWSFEEDS
2
3 Newsfeeds file entries should look like this:
4     host.name.of.site[/exclude,exclude,...]\
5             :pattern,pattern...[/distribution,distribution...]\
6             :Tf,Wnm
7             :
8 or
9     sitename[/exclude,exclude,...]\
10             :pattern,pattern...[/distribution,distribution...]\
11             :Tf,Wnm
12             :host.name.of.site
13
14
15 FILES
16
17 Four files full of
18    token messageid
19 or might be blanked out
20    <spc><spc><spc><spc>....
21
22 F site.name                 main feed file
23                                opened/created, then written, by innd
24                                read by duct
25                                unlinked by duct
26                                tokens blanked out by duct when processed
27   site.name_lock            lock preventing multiple ducts
28                                to hold lock must open,F_SETLK[W]
29                                  and then stat to check that locked file
30                                  still has name site.name_lock
31                                holder of this lock is "duct"
32                                (only) lockholder may remove the lockfile
33 D site.name_flushing        temporary feed file during flush (or crash)
34                                hardlink created by duct
35                                unlinked by duct
36   site.name_defer           431'd articles, still being written,
37                                created, written, used by duct
38
39   site.name_backlog.<date>.<inum>
40                             431'd articles, ready for innxmit or duct
41                                created (link/mv) by duct
42   site.name_backlog<anything-else>  (where <anything-else> does not
43                                      contain '#' or '~') eg
44   site.name_backlog.manual
45                             anything the sysadmin likes (eg, feed files
46                             from old feeds to be merged into this one)
47                                created (link/mv) by admin
48                                may be symlinks (in which case links
49                                may be written through, but only links
50                                will be removed.
51
52                             It is safe to remove backlog files manually,
53                             if it's desired to throw away the backlog.
54
55 Backlog files are also processed by innduct.  We find the oldest
56 backlog file which is at least a certain amount old, and feed it
57 back into our processing.  When every article in it has been read
58 and processed, we unlink it and look for another backlog file.
59
60 If we don't have a backlog file that we're reading, we close the
61 defer file that we're writing and make it into a backlog file at
62 the first convenient opportunity.