mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2025-06-06 20:06:12 +08:00
♻️ 直接使用官方定时任务插件 (#209)
This commit is contained in:
parent
1898607a82
commit
bc521cd38a
26
poetry.lock
generated
26
poetry.lock
generated
@ -1,4 +1,4 @@
|
|||||||
# This file is automatically @generated by Poetry and should not be changed by hand.
|
# This file is automatically @generated by Poetry 1.4.0 and should not be changed by hand.
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "aiofiles"
|
name = "aiofiles"
|
||||||
@ -1363,6 +1363,22 @@ files = [
|
|||||||
msgpack = ">=1.0.3,<2.0.0"
|
msgpack = ">=1.0.3,<2.0.0"
|
||||||
nonebot2 = ">=2.0.0-beta.3,<3.0.0"
|
nonebot2 = ">=2.0.0-beta.3,<3.0.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "nonebot-plugin-apscheduler"
|
||||||
|
version = "0.2.0"
|
||||||
|
description = "APScheduler Support for NoneBot2"
|
||||||
|
category = "main"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.8,<4.0"
|
||||||
|
files = [
|
||||||
|
{file = "nonebot-plugin-apscheduler-0.2.0.tar.gz", hash = "sha256:7b63e99a611b657533b48fcf1f8c6627c18c2eb3fa820a906cd4ec4666c0ceb0"},
|
||||||
|
{file = "nonebot_plugin_apscheduler-0.2.0-py3-none-any.whl", hash = "sha256:9285ee84ca1cfa4db73c86cedb5911bbbd25a21ec0cd5f22447cd12f89e48fb4"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
apscheduler = ">=3.7.0,<4.0.0"
|
||||||
|
nonebot2 = ">=2.0.0-rc.1,<3.0.0"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nonebot-plugin-datastore"
|
name = "nonebot-plugin-datastore"
|
||||||
version = "0.5.8"
|
version = "0.5.8"
|
||||||
@ -2253,7 +2269,7 @@ greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and platfor
|
|||||||
|
|
||||||
[package.extras]
|
[package.extras]
|
||||||
aiomysql = ["aiomysql", "greenlet (!=0.4.17)"]
|
aiomysql = ["aiomysql", "greenlet (!=0.4.17)"]
|
||||||
aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"]
|
aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing-extensions (!=3.10.0.1)"]
|
||||||
asyncio = ["greenlet (!=0.4.17)"]
|
asyncio = ["greenlet (!=0.4.17)"]
|
||||||
asyncmy = ["asyncmy (>=0.2.3,!=0.2.4)", "greenlet (!=0.4.17)"]
|
asyncmy = ["asyncmy (>=0.2.3,!=0.2.4)", "greenlet (!=0.4.17)"]
|
||||||
mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2)"]
|
mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2)"]
|
||||||
@ -2263,14 +2279,14 @@ mssql-pyodbc = ["pyodbc"]
|
|||||||
mypy = ["mypy (>=0.910)", "sqlalchemy2-stubs"]
|
mypy = ["mypy (>=0.910)", "sqlalchemy2-stubs"]
|
||||||
mysql = ["mysqlclient (>=1.4.0)", "mysqlclient (>=1.4.0,<2)"]
|
mysql = ["mysqlclient (>=1.4.0)", "mysqlclient (>=1.4.0,<2)"]
|
||||||
mysql-connector = ["mysql-connector-python"]
|
mysql-connector = ["mysql-connector-python"]
|
||||||
oracle = ["cx_oracle (>=7)", "cx_oracle (>=7,<8)"]
|
oracle = ["cx-oracle (>=7)", "cx-oracle (>=7,<8)"]
|
||||||
postgresql = ["psycopg2 (>=2.7)"]
|
postgresql = ["psycopg2 (>=2.7)"]
|
||||||
postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"]
|
postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"]
|
||||||
postgresql-pg8000 = ["pg8000 (>=1.16.6,!=1.29.0)"]
|
postgresql-pg8000 = ["pg8000 (>=1.16.6,!=1.29.0)"]
|
||||||
postgresql-psycopg2binary = ["psycopg2-binary"]
|
postgresql-psycopg2binary = ["psycopg2-binary"]
|
||||||
postgresql-psycopg2cffi = ["psycopg2cffi"]
|
postgresql-psycopg2cffi = ["psycopg2cffi"]
|
||||||
pymysql = ["pymysql", "pymysql (<1)"]
|
pymysql = ["pymysql", "pymysql (<1)"]
|
||||||
sqlcipher = ["sqlcipher3_binary"]
|
sqlcipher = ["sqlcipher3-binary"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sqlalchemy-stubs"
|
name = "sqlalchemy-stubs"
|
||||||
@ -2791,4 +2807,4 @@ multidict = ">=4.0"
|
|||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.0"
|
lock-version = "2.0"
|
||||||
python-versions = ">=3.10,<4.0.0"
|
python-versions = ">=3.10,<4.0.0"
|
||||||
content-hash = "e96935d803ebcbb4251968c10f67f6e8807b7d046c6175fc75f1f672ec5e800c"
|
content-hash = "15a585b44a2065b8e7faaa7215d525d839d67b3d349da69eaf84dec6c0ba68e3"
|
||||||
|
@ -7,12 +7,8 @@ license = "MIT"
|
|||||||
homepage = "https://github.com/felinae98/nonebot-bison"
|
homepage = "https://github.com/felinae98/nonebot-bison"
|
||||||
keywords = ["nonebot", "nonebot2", "qqbot"]
|
keywords = ["nonebot", "nonebot2", "qqbot"]
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
packages = [
|
packages = [{ include = "nonebot_bison", from = "./src/plugins/" }]
|
||||||
{ include = "nonebot_bison", from = "./src/plugins/" }
|
include = ["src/plugins/nonebot_bison/admin_page/dist/**/*"]
|
||||||
]
|
|
||||||
include = [
|
|
||||||
"src/plugins/nonebot_bison/admin_page/dist/**/*"
|
|
||||||
]
|
|
||||||
classifiers = [
|
classifiers = [
|
||||||
"Development Status :: 4 - Beta",
|
"Development Status :: 4 - Beta",
|
||||||
"Operating System :: POSIX :: Linux",
|
"Operating System :: POSIX :: Linux",
|
||||||
@ -21,7 +17,7 @@ classifiers = [
|
|||||||
"Programming Language :: Python :: 3.10",
|
"Programming Language :: Python :: 3.10",
|
||||||
"Programming Language :: Python :: 3.11",
|
"Programming Language :: Python :: 3.11",
|
||||||
"Programming Language :: Python :: Implementation :: CPython",
|
"Programming Language :: Python :: Implementation :: CPython",
|
||||||
"License :: OSI Approved :: MIT License"
|
"License :: OSI Approved :: MIT License",
|
||||||
]
|
]
|
||||||
|
|
||||||
[tool.poetry.dependencies]
|
[tool.poetry.dependencies]
|
||||||
@ -32,13 +28,13 @@ bs4 = "^0.0.1"
|
|||||||
tinydb = "^4.3.0"
|
tinydb = "^4.3.0"
|
||||||
feedparser = "^6.0.2"
|
feedparser = "^6.0.2"
|
||||||
pillow = ">=8.1,<10.0"
|
pillow = ">=8.1,<10.0"
|
||||||
apscheduler = "^3.7.0"
|
|
||||||
expiringdict = "^1.2.1"
|
expiringdict = "^1.2.1"
|
||||||
pyjwt = "^2.1.0"
|
pyjwt = "^2.1.0"
|
||||||
python-socketio = "^5.4.0"
|
python-socketio = "^5.4.0"
|
||||||
nonebot-adapter-onebot = "^2.0.0-beta.1"
|
nonebot-adapter-onebot = "^2.0.0-beta.1"
|
||||||
nonebot-plugin-htmlrender = ">=0.2.0"
|
nonebot-plugin-htmlrender = ">=0.2.0"
|
||||||
nonebot-plugin-datastore = ">=0.5.8"
|
nonebot-plugin-datastore = ">=0.5.8"
|
||||||
|
nonebot-plugin-apscheduler = "^0.2.0"
|
||||||
|
|
||||||
[tool.poetry.dev-dependencies]
|
[tool.poetry.dev-dependencies]
|
||||||
ipdb = "^0.13.4"
|
ipdb = "^0.13.4"
|
||||||
@ -52,7 +48,7 @@ isort = "^5.10.1"
|
|||||||
pre-commit = "^2.17.0"
|
pre-commit = "^2.17.0"
|
||||||
flaky = "^3.7.0"
|
flaky = "^3.7.0"
|
||||||
sqlalchemy-stubs = "^0.4"
|
sqlalchemy-stubs = "^0.4"
|
||||||
nonebot2 = {extras = ["fastapi"], version = ">=2.0.0-rc.2"}
|
nonebot2 = { extras = ["fastapi"], version = ">=2.0.0-rc.2" }
|
||||||
|
|
||||||
[build-system]
|
[build-system]
|
||||||
requires = ["poetry>=0.12"]
|
requires = ["poetry>=0.12"]
|
||||||
@ -62,7 +58,7 @@ build-backend = "poetry.masonry.api"
|
|||||||
markers = [
|
markers = [
|
||||||
"compare: compare fetching result with rsshub",
|
"compare: compare fetching result with rsshub",
|
||||||
"render: render img by chrome",
|
"render: render img by chrome",
|
||||||
"external: use external resources"
|
"external: use external resources",
|
||||||
]
|
]
|
||||||
asyncio_mode = "auto"
|
asyncio_mode = "auto"
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
from nonebot.plugin import PluginMetadata, require
|
from nonebot.plugin import PluginMetadata, require
|
||||||
|
|
||||||
|
require("nonebot_plugin_apscheduler")
|
||||||
require("nonebot_plugin_datastore")
|
require("nonebot_plugin_datastore")
|
||||||
|
|
||||||
from . import (
|
from . import (
|
||||||
|
@ -4,7 +4,6 @@ from sqlalchemy import inspect, text
|
|||||||
|
|
||||||
from .config.config_legacy import start_up as legacy_db_startup
|
from .config.config_legacy import start_up as legacy_db_startup
|
||||||
from .config.db import data_migrate
|
from .config.db import data_migrate
|
||||||
from .scheduler.aps import start_scheduler
|
|
||||||
from .scheduler.manager import init_scheduler
|
from .scheduler.manager import init_scheduler
|
||||||
|
|
||||||
|
|
||||||
@ -49,6 +48,4 @@ async def post():
|
|||||||
await data_migrate()
|
await data_migrate()
|
||||||
# init scheduler
|
# init scheduler
|
||||||
await init_scheduler()
|
await init_scheduler()
|
||||||
# start scheduler
|
|
||||||
start_scheduler()
|
|
||||||
logger.info("nonebot-bison bootstrap done")
|
logger.info("nonebot-bison bootstrap done")
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
from apscheduler.schedulers.asyncio import AsyncIOScheduler
|
|
||||||
|
|
||||||
aps = AsyncIOScheduler(timezone="Asia/Shanghai")
|
|
||||||
|
|
||||||
|
|
||||||
def start_scheduler():
|
|
||||||
aps.configure({"apscheduler.timezone": "Asia/Shanghai"})
|
|
||||||
aps.start()
|
|
@ -3,6 +3,7 @@ from typing import Optional, Type
|
|||||||
|
|
||||||
from nonebot.adapters.onebot.v11.bot import Bot
|
from nonebot.adapters.onebot.v11.bot import Bot
|
||||||
from nonebot.log import logger
|
from nonebot.log import logger
|
||||||
|
from nonebot_plugin_apscheduler import scheduler
|
||||||
|
|
||||||
from ..config import config
|
from ..config import config
|
||||||
from ..platform import platform_manager
|
from ..platform import platform_manager
|
||||||
@ -10,7 +11,6 @@ from ..send import send_msgs
|
|||||||
from ..types import Target
|
from ..types import Target
|
||||||
from ..utils import ProcessContext, SchedulerConfig
|
from ..utils import ProcessContext, SchedulerConfig
|
||||||
from ..utils.get_bot import get_bot
|
from ..utils.get_bot import get_bot
|
||||||
from .aps import aps
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
@ -48,7 +48,7 @@ class Scheduler:
|
|||||||
logger.info(
|
logger.info(
|
||||||
f"register scheduler for {self.name} with {self.scheduler_config.schedule_type} {self.scheduler_config.schedule_setting}"
|
f"register scheduler for {self.name} with {self.scheduler_config.schedule_type} {self.scheduler_config.schedule_setting}"
|
||||||
)
|
)
|
||||||
aps.add_job(
|
scheduler.add_job(
|
||||||
self.exec_fetch,
|
self.exec_fetch,
|
||||||
self.scheduler_config.schedule_type,
|
self.scheduler_config.schedule_type,
|
||||||
**self.scheduler_config.schedule_setting,
|
**self.scheduler_config.schedule_setting,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user