TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #425 · 20 апр.

Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках. Выглядело это примерно так: from fastapi.concurrency import run_in_threadpool async def execute(data: DataRequest) -> DataResponse: try: result = await run_in_threadpool(sync_function, data) return DataResponse(data=result) except Exception as e: return DataResponse( error=str(e), success=False, ) В общем работает нормально. Для всех вызовов под капотом используется общий тредпул, всё работает предсказуемо. Но потребовалось изменить количество запускаемых в пуле потоков (по умолчанию создается 40 воркеров). Так как дело происходит с FastAPI, делается это через lifespan используя настройки anyio: import anyio @asynccontextmanager async def lifespan(app: FastAPI): limiter = anyio.to_thread.current_default_thread_limiter() limiter.total_tokens = 100 yield # если вдруг нужно вернуть обратно limiter.total_tokens = 40 Зачем менять количество воркеров? - уменьшить, если оперативки мало (один тред занимает ~8мб) - увеличить чтобы выдержать нагрузку Если есть предложения получше при тех же вводных - предлагайте😉 #async

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #greeting

当前筛选 #greeting清除筛选
JS Organization

@jsorganization · Post #401 · 18.06.2024 г., 08:03

Public Wishing With Show Profile Photo Post. Javascript Code🤖 Command Name : /post Code ; Api.sendPhoto({ chat_id: "@JSOrganization",// Replace To Your Channel Username photo:"https://t.me/JSOrganization" , caption: "*👋Hello! @JSOrganization*", parse_mode: "Markdown", reply_markup: {inline_keyboard : [[{text: "CLICK TO WISH ", callback_data: "/post2"}]] } }) Command Name :/post2 Code: // Get the user Telegram ID let userId = user.telegramid; // Array of random wishing captions const randomCaptions = [ "May your wishes come true! 🌟", "Sending you warm wishes on this special day! 🌸", "Wishing you happiness and prosperity!", "May your heart be filled with joy and peace.", "Here's to a wonderful Eid ul Adha celebration!" ]; // Function to get a random element from an array function getRandomElement(array) { return array[Math.floor(Math.random() * array.length)]; } // Define the new property name const newPropertyName = "hasGreeted"; // Check if the user has already greeted if (!User.getProperty(newPropertyName)) { // Increment the total wishes by 1 let totalWishes = Bot.getProperty("total_wishes", 0) + 1; Bot.setProperty("total_wishes", totalWishes, "integer"); // Set a flag to indicate that the user has greeted User.setProperty(newPropertyName, true, "boolean"); // Send the response with an alert Api.answerCallbackQuery({ callback_query_id: request.id, text: `Successfully Wished 🌟\n\nTotal Wishes: ${totalWishes}`, show_alert: true }); // Select a random wishing caption let randomCaption = getRandomElement(randomCaptions); // Prepare the enhanced caption with the updated total wishes count and random wishing caption let caption = `${user.first_name}, wishing you all a blessed Eid ul Adha! 🌸\n\n` + `Thank you for your wish! ${randomCaption}\n\n` + `Total Wishes So Far: ${totalWishes}`; // Edit the message with the updated caption and media Api.editMessageMedia({ chat_id: request.chat_id, message_id: request.message.message_id, media: { type: "photo", media: "t.me/" + user.username, caption: caption }, parse_mode: "markdown", reply_markup: { inline_keyboard: [ [{ text: "✨ Wish Now ✨", callback_data: "/post2"}] ] } }); } else { // User has already greeted, no action needed Api.answerCallbackQuery({ callback_query_id: request.id, text: "You have already greeted!", show_alert: true }); } Replace Your Greetings Random Message As Your Wish 🔴 #Greeting#Wish#EidPost#PublicWish#BotsBusiness#JSOrganization ©@JSOrganization🤖 If Anyone Face Any Error Or Problem. So Message@itsSowrov🙂