mirror of
https://codeberg.org/icewind/rss-webhook-trigger.git
synced 2026-06-03 09:54:18 +02:00
bit more logging
This commit is contained in:
parent
703c69f988
commit
8ace94b418
2 changed files with 17 additions and 6 deletions
10
module.nix
10
module.nix
|
|
@ -40,6 +40,12 @@ in {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
log = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "INFO";
|
||||||
|
description = "Log level";
|
||||||
|
};
|
||||||
|
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
description = "package to use";
|
description = "package to use";
|
||||||
|
|
@ -50,6 +56,10 @@ in {
|
||||||
systemd.services."rss-webhook-trigger" = {
|
systemd.services."rss-webhook-trigger" = {
|
||||||
wantedBy = ["multi-user.target"];
|
wantedBy = ["multi-user.target"];
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
RUST_LOG = cfg.log;
|
||||||
|
};
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${cfg.package}/bin/rss-webhook-trigger ${configFile}";
|
ExecStart = "${cfg.package}/bin/rss-webhook-trigger ${configFile}";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
|
|
|
||||||
13
src/main.rs
13
src/main.rs
|
|
@ -40,7 +40,7 @@ async fn main() -> Result<()> {
|
||||||
select! {
|
select! {
|
||||||
_ = ctrl_c => {},
|
_ = ctrl_c => {},
|
||||||
_ = main_loop(config) => {}
|
_ = main_loop(config) => {}
|
||||||
};
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -49,11 +49,11 @@ async fn main_loop(config: Config) {
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
for feed in config.feed.iter() {
|
for feed in config.feed.iter() {
|
||||||
match fetcher.is_feed_updated(&feed.feed).await {
|
match fetcher.check_feed_updated(&feed.feed).await {
|
||||||
Ok(true) => {
|
Ok(true) => {
|
||||||
trigger(&fetcher.client, feed).await;
|
trigger(&fetcher.client, feed).await;
|
||||||
}
|
}
|
||||||
Err(e) => eprintln!("{:#}", e),
|
Err(e) => error!(error = ?e, feed = feed.feed, "failed to check feed"),
|
||||||
Ok(false) => {}
|
Ok(false) => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -86,11 +86,12 @@ pub struct FeedFetcher {
|
||||||
|
|
||||||
impl FeedFetcher {
|
impl FeedFetcher {
|
||||||
#[instrument(skip(self))]
|
#[instrument(skip(self))]
|
||||||
pub async fn is_feed_updated(&mut self, feed: &str) -> Result<bool> {
|
pub async fn check_feed_updated(&mut self, feed: &str) -> Result<bool> {
|
||||||
let new_key = self.get_feed_key(feed).await?;
|
let new_key = self.get_feed_key(feed).await?;
|
||||||
|
|
||||||
Ok(match self.cache.get_mut(feed) {
|
Ok(match self.cache.get_mut(feed) {
|
||||||
Some(cached) => {
|
Some(cached) => {
|
||||||
|
debug!(cached, new_key, "checked existing feed");
|
||||||
if *cached != new_key {
|
if *cached != new_key {
|
||||||
*cached = new_key;
|
*cached = new_key;
|
||||||
true
|
true
|
||||||
|
|
@ -99,10 +100,10 @@ impl FeedFetcher {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
None => {
|
None => {
|
||||||
|
debug!(feed, "new feed");
|
||||||
self.cache.insert(feed.into(), new_key);
|
self.cache.insert(feed.into(), new_key);
|
||||||
|
|
||||||
// dont trigger the actions on start
|
// don't trigger the actions on start
|
||||||
|
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue