fix: fix tasks

This commit is contained in:
2025-06-14 22:30:58 +08:00
parent 882b29d7a1
commit 1b5bdadf10
15 changed files with 91 additions and 49 deletions

View File

@@ -14,3 +14,4 @@ BASIC_PASSWORD = "konobangu"
# MIKAN_PROXY = ""
# MIKAN_PROXY_AUTH_HEADER = ""
# MIKAN_NO_PROXY = ""
# MIKAN_PROXY_ACCEPT_INVALID_CERTS = "true"

17
apps/recorder/.env.dev Normal file
View File

@@ -0,0 +1,17 @@
HOST="konobangu.com"
DATABASE_URL = "postgres://konobangu:konobangu@localhost:5432/konobangu"
STORAGE_DATA_DIR = "./data"
AUTH_TYPE = "basic" # or oidc
BASIC_USER = "konobangu"
BASIC_PASSWORD = "konobangu"
# OIDC_ISSUER="https://auth.logto.io/oidc"
# OIDC_AUDIENCE = "https://konobangu.com/api"
# OIDC_CLIENT_ID = "client_id"
# OIDC_CLIENT_SECRET = "client_secret" # optional
# OIDC_EXTRA_SCOPES = "read:konobangu write:konobangu"
# OIDC_EXTRA_CLAIM_KEY = ""
# OIDC_EXTRA_CLAIM_VALUE = ""
MIKAN_PROXY = "http://127.0.0.1:8899"
# MIKAN_PROXY_AUTH_HEADER = ""
# MIKAN_NO_PROXY = ""
MIKAN_PROXY_ACCEPT_INVALID_CERTS = true

View File

@@ -111,7 +111,12 @@ tracing-appender = "0.2.3"
clap = "4.5.31"
ipnetwork = "0.21.1"
typed-builder = "0.21.0"
apalis = { version = "0.7", features = ["limit", "tracing", "catch-panic"] }
apalis = { version = "0.7", features = [
"limit",
"tracing",
"catch-panic",
"retry",
] }
apalis-sql = { version = "0.7", features = ["postgres"] }
cocoon = { version = "0.4.3", features = ["getrandom", "thiserror"] }
rand = "0.9.1"

View File

@@ -710,6 +710,7 @@ pub async fn scrape_mikan_bangumi_meta_from_bangumi_homepage_url(
)
}
#[allow(dead_code)]
#[instrument(err, skip_all, fields(mikan_bangumi_homepage_url = mikan_bangumi_homepage_url.as_str()))]
pub async fn scrape_mikan_bangumi_index_meta_from_bangumi_homepage_url(
mikan_client: &MikanClient,

View File

@@ -3,6 +3,7 @@ use std::{ops::Deref, sync::Arc};
use apalis::prelude::*;
use apalis_sql::{
Config,
context::SqlContext,
postgres::{PgListen, PostgresStorage},
};
use tokio::sync::RwLock;
@@ -51,7 +52,13 @@ impl TaskService {
) -> RecorderResult<TaskId> {
let task_id = {
let mut storage = self.subscriber_task_storage.write().await;
storage.push(subscriber_task).await?.task_id
let sql_context = {
let mut c = SqlContext::default();
c.set_max_attempts(1);
c
};
let request = Request::new_with_ctx(subscriber_task, sql_context);
storage.push_request(request).await?.task_id
};
Ok(task_id)