mirror of
https://github.com/amtoaer/bili-sync.git
synced 2026-05-10 17:42:55 +08:00
39 lines
885 B
Python
39 lines
885 B
Python
import asyncio
|
|
import sys
|
|
|
|
import uvloop
|
|
from loguru import logger
|
|
|
|
from commands import recheck
|
|
from models import init_model
|
|
from processor import cleanup, process
|
|
from settings import settings
|
|
|
|
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
|
|
|
|
|
|
async def entry() -> None:
|
|
await init_model()
|
|
if any("once" in _ for _ in sys.argv):
|
|
# 单次运行
|
|
logger.info("Running once...")
|
|
await process()
|
|
return
|
|
if any("recheck" in _ for _ in sys.argv):
|
|
# 重新检查
|
|
logger.info("Rechecking...")
|
|
await recheck()
|
|
return
|
|
logger.info("Running daemon...")
|
|
while True:
|
|
await process()
|
|
await asyncio.sleep(settings.interval * 60)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
with asyncio.Runner() as runner:
|
|
try:
|
|
runner.run(entry())
|
|
finally:
|
|
runner.run(cleanup())
|