fix(newsletter): elimină jobul APScheduler intern duplicat și bugged
Jobul intern rula pe zile greșite (vineri/sâmbătă/marți în loc de joi/vineri/luni) din cauza convenției diferite de day-of-week dintre APScheduler și crontab standard. Scriptul standalone via OS crontab e mecanismul corect și funcțional — rămâne singura sursă. chore: sync stare working-tree — cron, KB notes, anaf-monitor snapshots
This commit is contained in:
21
src/main.py
21
src/main.py
@@ -83,27 +83,6 @@ def main():
|
||||
scheduler = Scheduler(send_callback=_send_to_channel, config=config)
|
||||
client.scheduler = scheduler # type: ignore[attr-defined]
|
||||
|
||||
# Newsletter Cercetași checker (optional)
|
||||
newsletter_config = config.get("newsletter_cercetasi", {})
|
||||
if newsletter_config.get("enabled"):
|
||||
from src.newsletter_cercetasi import check_and_send as check_newsletter
|
||||
from apscheduler.triggers.cron import CronTrigger as _CronTrigger
|
||||
|
||||
async def _newsletter_tick() -> None:
|
||||
try:
|
||||
await check_newsletter(config, _send_to_channel)
|
||||
except Exception as exc:
|
||||
logger.error("Newsletter checker failed: %s", exc)
|
||||
|
||||
nl_cron = newsletter_config.get("cron", "0 9 * * *")
|
||||
scheduler._scheduler.add_job(
|
||||
_newsletter_tick,
|
||||
trigger=_CronTrigger.from_crontab(nl_cron),
|
||||
id="__newsletter_cercetasi__",
|
||||
max_instances=1,
|
||||
)
|
||||
logger.info("Newsletter Cercetasi checker registered (cron: %s)", nl_cron)
|
||||
|
||||
# Telegram bot (optional — only if telegram_token exists)
|
||||
telegram_token = get_secret("telegram_token")
|
||||
telegram_app = None
|
||||
|
||||
Reference in New Issue
Block a user