Where new items go: filed as memory notes, or ingested by hive-ingestor.
:rss/sink picks. "memory" files notes. "ingestor" ingests, and a
call that fails leaves the items unseen for the next poll. "auto" ingests
when the host offers a :tools/invoke port and falls back to notes for a
batch the ingestor could not take, so items are delivered either way.
Where new items go: filed as memory notes, or ingested by hive-ingestor. `:rss/sink` picks. `"memory"` files notes. `"ingestor"` ingests, and a call that fails leaves the items unseen for the next poll. `"auto"` ingests when the host offers a `:tools/invoke` port and falls back to notes for a batch the ingestor could not take, so items are delivered either way.
One poll of one feed, and one pass over every due feed.
Effects arrive as functions so the pipeline runs the same against the network and the memory store as against test doubles:
:fetch (fn [url {:keys [etag last-modified timeout-ms max-bytes]}]) -> Result :file! (fn [entry]) -> Result {:id :duplicate?} :deliver! (fn [settings subscription feed items]) -> delivery, optional: replaces filing entry by entry (hive-ingestor delivery). A delivery is {:filed [item-key] :created :duplicates :failed :last-error} :save! (fn [state]) persists the whole state :now (fn []) -> epoch seconds
One poll of one feed, and one pass over every due feed.
Effects arrive as functions so the pipeline runs the same against the
network and the memory store as against test doubles:
:fetch (fn [url {:keys [etag last-modified timeout-ms max-bytes]}]) -> Result
:file! (fn [entry]) -> Result {:id :duplicate?}
:deliver! (fn [settings subscription feed items]) -> delivery, optional:
replaces filing entry by entry (hive-ingestor delivery).
A delivery is {:filed [item-key] :created :duplicates :failed :last-error}
:save! (fn [state]) persists the whole state
:now (fn []) -> epoch secondscljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |