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:
2026-07-09 14:54:15 +00:00
parent d175d5ba5a
commit 7b44749e5a
22 changed files with 724 additions and 212 deletions

View File

@@ -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