mirror of
https://github.com/tgbot-collection/ytdlbot.git
synced 2025-02-24 15:24:03 +08:00
threading mode
This commit is contained in:
parent
321f4e8ba7
commit
c7de910819
2 changed files with 21 additions and 12 deletions
|
@ -11,35 +11,37 @@ import logging
|
|||
import os
|
||||
import pathlib
|
||||
import tempfile
|
||||
import time
|
||||
import threading
|
||||
|
||||
from celery import Celery
|
||||
from pyrogram import idle
|
||||
from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
|
||||
|
||||
from client_init import create_app
|
||||
from config import BROKER, ENABLE_CELERY
|
||||
from config import BROKER, ENABLE_CELERY, WORKERS
|
||||
from constant import BotText
|
||||
from db import Redis
|
||||
from downloader import sizeof_fmt, upload_hook, ytdl_download
|
||||
from utils import get_metadata, get_user_settings
|
||||
from utils import get_metadata, get_user_settings, customize_logger, apply_log_formatter
|
||||
|
||||
customize_logger(["pyrogram.client", "pyrogram.session.session", "pyrogram.connection.connection"])
|
||||
apply_log_formatter()
|
||||
bot_text = BotText()
|
||||
|
||||
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(filename)s [%(levelname)s]: %(message)s')
|
||||
# celery -A tasks worker --loglevel=info --pool=solo
|
||||
|
||||
# app = Celery('celery', broker=BROKER, accept_content=['pickle'], task_serializer='pickle')
|
||||
app = Celery('celery', broker=BROKER)
|
||||
app = Celery('tasks', broker=BROKER)
|
||||
|
||||
celery_client = create_app(app.main, 5)
|
||||
celery_client = create_app(":memory:")
|
||||
celery_client.start()
|
||||
|
||||
|
||||
@app.task()
|
||||
def download_task(chat_id, message_id, url):
|
||||
logging.info("celery tasks started for %s", url)
|
||||
with celery_client:
|
||||
bot_msg = celery_client.get_messages(chat_id, message_id)
|
||||
normal_download(bot_msg, celery_client, url)
|
||||
# print(celery_client.get_me())
|
||||
bot_msg = celery_client.get_messages(chat_id, message_id)
|
||||
normal_download(bot_msg, celery_client, url)
|
||||
logging.info("celery tasks ended.")
|
||||
|
||||
|
||||
|
@ -104,5 +106,12 @@ def normal_download(bot_msg, client, url):
|
|||
temp_dir.cleanup()
|
||||
|
||||
|
||||
def run_celery():
|
||||
argv = ["-A", "tasks", 'worker', '--loglevel=info', "--pool=threads", f"--concurrency={WORKERS * 2}"]
|
||||
app.worker_main(argv)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
download_task("", "", "")
|
||||
threading.Thread(target=run_celery, daemon=True).start()
|
||||
idle()
|
||||
celery_client.stop()
|
||||
|
|
|
@ -29,7 +29,7 @@ from limit import verify_payment
|
|||
from tasks import download_entrance
|
||||
from utils import customize_logger, get_user_settings, set_user_settings
|
||||
|
||||
customize_logger(["pyrogram.client", "pyrogram.session.session", "pyrogram.client", "pyrogram.connection.connection"])
|
||||
customize_logger(["pyrogram.client", "pyrogram.session.session", "pyrogram.connection.connection"])
|
||||
app = create_app()
|
||||
bot_text = BotText()
|
||||
|
||||
|
|
Loading…
Reference in a new issue