Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
#Repo-PowerBI
Cumpliendo las peticiones de algunos de ustedes hemos creado un 💫Nuevo grupo de PowerBI, donde estaremos compartiendo cursos, y libros.
Pueden unirse en el enlace de abajo👇
🔗Link
-----
Main channel:@repo_science
Coupons:@freecoupons_reposcience
-----
Reaction Saver
#repo: https://github.com/xditya/ReactionSaver
- React to any message in DMs to save to your configurable LOG_CHAT
- Good for messages or files sent in DMs with privacy enabled (forwards turned off)
- Steps to set up are available here
Star the repo if it helped :)
~ @BotzHub
🎉 Just pushed a new repository to GitHub, been a while :)
ImageTools
#repo: https://github.com/xditya/ImageTools
a python script to manipulate images
- Resize images to exact pixel dimensions (width × height)
- Auto compress images to target file sizes with optimal quality.
- Add noise to ensure the image size meets your requirements.
- Works with JPEG, PNG, and WebP formats.
Makes applying for online examinations easier - no more visiting random websites to alter image dimensions and sizes!
Do leave a ⭐️ if the repo helped :)
~ @BotzHub
Presenting @GeminiTalkBot!
Yes, that's me releasing a bot after a long time lol
#repohttps://github.com/xditya/GeminiChatBot (do give a 🌟)
An AI ChatBot and problem solver, using Google's Gemini AI Model.
- remembers conversations for a smoother problem solving experience, without leaving telegram!
- utilizes Gemini's full capabilities in text generation.
- and more, idk what to add here 🙂
Follow me on GitHub & help me reach 500 followers!
https://github.com/xditya
~ @BotzHub
WhatsApp Media to Sticker
#repo - https://github.com/xditya/WhatsAppUtilitiesBot (do give a ⭐)
- A WhatsApp userbot, currently aimed at converting media to stickers, from within WhatsApp!
You can find a sample bot in the comments of this post, but I'd recommend hosting one yourself, to prevent bans!
Let me know if you have ideas to implement in this bot 😄
Heavily inspired by J Projects
~ @BotzHub
😇 Just made a link shortener website, https://short.xditya.me
🔥 It's opensource, #repo: https://github.com/xditya/WebShortener(do give a ⭐️) and has an API endpoint!
🌚 Powered by 👩💻
👀 Please give your feedback, this is my first working website
~ @BotzHub
🆕PresentingGetRestrictedMessages!
✈️ Deploy your own userbot to copy messages from public and private telegram chats with forward restrictions enabled!
🔥#repo - https://github.com/xditya/GetRestrictedMessages
React to this message with "🌚" if you want a video tutorial on deploying it!
😎 Let me know your opinions in the comments! Star the repository, it encourages me to make more open-source projects :)
~ @BotzHub
Presenting @TGdetailsBot
#repo - https://github.com/xditya/TGdetailsBot
- Get the message data in a telegram message.
- Get chat ID, or forwarded from (channel/user) ID.
- "Interactive" bot.
- Supports clones (read "help" of the bot to know more)!
~ @BotzHub
Deployyour own version of@ChannelActionsBot!
Tutorial - https://youtu.be/hjxfJtk5ZWs
#repo - https://github.com/xditya/ChannelActionsBot
Like the video!
~ @BotzHub
@PexelsSearchBot
#repo🌐 - https://github.com/xditya/PexelsBot
- Inline bot to search images from Pexels.
- Open-source, made in ts 👌
- Use the bot inline, to search and send high quality images from pexels.com.
~ @BotzHub
@MDiskLinksRoBot
🌐#repo - https://github.com/xditya/mdiskDownloadLinks
- Generate direct download links from any MDisk.me link.
- My first bot in TS 👩🦯
- Please do 🌟 the repository!
~ @BotzHub
@TheEmailBot
🌐#repo - https://github.com/xditya/Mailbot
- Generate temporary emails from within telegram.
- Receive mails in that temp mail directly in the bot, with attachments, if any.
- @TheEmailBot also supports custom as well as random email addresses.
Do star the repository⭐️
Also, thanks for 12k members in this channel! ❤️
~ @BotzHub