Маленьких детей учат не брать что попало в рот, что валялось на улице.
Взрослых приходится учить не открывать какие попало файлы.
Довольно очевидно, что это письмо не содержит ничего полезного, так зачем мучиться моральными страданиями? Эти "стихи" - просто попытка обойти антиспам за счёт уникального текста. Вся цель этого спама - в этом файле. И не надо даже думать, является ли вредоносным этот файл или он просто содержит непосредственную рекламную инфу - спам есть спам и место ему в помойке.
venom99, решение очень зависит от того, что с данными делается и как. Например, если это датчики, которые передают текущее значение, и сохранять историю не нужно, то можно вообще не использовать никаких баз или очередей. Достаточно просто записывать последнее значение, и пусть его другие потоки читают. Главное, чтобы операция записи нового значения была атомарна, что обеспечивается либо использованием атомарных структур данных (например, 32-битное число), либо блокировками (например, мутексы).
Что касается in memory, то можно и просто использовать рамдиск.
В общем-то, люди правильно говорят, что без знания подробностей задачи сложно давать осмысленные советы.
Хранить картинки в git-репе проекта - это обычно плохая идея, кроме случаев, когда их совсем немного. Хранить их в каталоге рядом с ботом - нормальная.
Но если картинки для разных пользователей будут повторяться, то лучше запоминать file_id ранее загруженных, чтобы в следующий раз не отправлять сами файлы. Это ускорит отправку, да и Телеграму лишние копии файлов на их серверах ни к чему.
Айнур Шангараев, тогда для начала отладить отправку файла, безо всей остальной логики. Делаем временного бота с отдельным токеном и скрипт, в котором файл посылается по любому сообщению или по какому-то конкретному. Добиваемся, что файл отправляется нормально.
У нас в конторе по новым сотрудникам делают стандартную карточку-картинку, где фото, откуда пришёл, компетенции и увлечения, QR-коды на соцсети. Вероятно, для этого у них соцсети специально спрашивают. У меня не спрашивали - когда я устраивался, в конторе ещё HR не было, меня оформляла бухгалтерия.
Человек имеет право в соцсетях быть вообще не зарегистрирован. Можно ничего не указывать.
ZakaT4160, как самый попсовый способ - google docs. Очень многие для этого его и используют. Вполне себе вариант готовить статью, а потом копипастить финальную версию.
postfix сам по себе не обслуживает почтовые ящики, ну кроме может LDA (local delivery agent, это ящики для системных локальных пользователей, лежащие в /var/spool/mail). Ему нужен агент, который доставляет в реальный почтовик с ящиками, например, в dovecot. А в самом dovecot можно создавать ящики, причём информацию по пользователям можно хранить не только в файлах, но также и в базе или в LDAP. В общем-то, я советую погуглить, как это всё интегрируется друг с другом, информации и примеров полно.
В dovecot есть утилиты, которыми можно смотреть содержимое ящиков. Но вообще в некоторых вариантах постановки задачи это выглядит как задача для IMAP-клиента: залогиниться по IMAP и посмотреть последнее письмо.
member - это объект класса discord.Member, и member.id - это id пользователя (даже если мы имеем объект discord.Member, а не discord.User, прям в документации так написано).
Konyuh, синхронный - который делает запрос, ждёт ответа и не делает других запросов в процессе. Естественно, все массовые парсеры пытаются делать одновременно много запросов. В том числе к разным сайтам, через разные прокси итд итп...
Konyuh, это потому что парсер не надо делать синхронным. Правильно написанный парсер может ОЧЕНЬ МНОГО. Плюс эти проекты наверняка имеют большую ферму парсеров с кучей проксей, которые финансируются из платы клиентов.
Максим, рекомендую сделать бэкап и его залить. Как вариант, можно попробовать указать правильный тэг postgis, чтобы соответствующий образ был от ровно такого же образа postgres, какой используется сейчас (там дефолтный latest, надеюсь latest у postgis такой же). Но перед этим рекомендую всё равно сделать бэкап на всякий пожарный.
Будет несомненно дешевле, так как на подобные деньги можно арендовать несколько физических серверов или пару десятков виртуалок. Но потребуется начальная инвестиция в разработку и скорее всего налиие аутсорсера или достаточно оперативного доступного фрилансера на подхвате, чтобы это вовремя чинить, если упадёт или не справится.
В общем-то, люди не просто так платят деньги за готовые работающие решения, снимающие с них головную боль...
Теоретически, можно придумать такие задачи, чтобы это имело смысл. Например, нужно числодробить что-то, но хочется это делать по ночам. Ну так запускать это на ночь и завершать к моменту наступления дорогого тарифа... Можно заодно и понижать частоту процессора, переключать профили энергосбережения, контролировать расходы на процессорное время отдельных приложений...
Но в целом гигантской разницы энергопотребления всё равно не будет. Экономия на спичках...
Зачем работать в энергосбережении? Если функционал сервера позволяет полноценно работать на "малых оборотах", то почему просто не взять сервер подешевле и попроще и работать на них постоянно?
Взрослых приходится учить не открывать какие попало файлы.
Довольно очевидно, что это письмо не содержит ничего полезного, так зачем мучиться моральными страданиями? Эти "стихи" - просто попытка обойти антиспам за счёт уникального текста. Вся цель этого спама - в этом файле. И не надо даже думать, является ли вредоносным этот файл или он просто содержит непосредственную рекламную инфу - спам есть спам и место ему в помойке.