Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
🚀🚀 Another massive profit made in Premium Group and this time it is#IP/USDT which crossed All the Profit Targets for an humongous gain of 420%
🗨Contact @futurechief to enter the Binance Futures/Bybit/Kucoin/OKX Premium Signal Group & Receive daily high quality signals by being in the Premium Group
Абз. 1 п. 1 ст. 1245 ГК:
Авторам, исполнителям, изготовителям фонограмм и аудиовизуальных произведений принадлежит право на вознаграждение за свободное воспроизведение фонограмм и аудиовизуальных произведений исключительно в личных целях. Такое вознаграждение имеет компенсационный характер и выплачивается правообладателям за счет средств, которые подлежат уплате изготовителями и импортерами оборудования и материальных носителей, используемых для такого воспроизведения.
В современном мире, будто бы, требуется пересмотр подхода к свободному использованию интеллектуальной собственности.
Так, в тг можно через команду @song найти множество песен. Отчисляет ли кому-то тг вознаграждение? Сомневаюсь.
UPD. Короче там другое. Ща разберёмся. Не ставьте дизлайки, мне и так тошно.
UPD 2. Я кажется понял. Воспроизведение в личных целях никак нельзя контролировать. Оно "не приводит к вовлечению оригинала или экземпляров в оборот, поэтому его нельзя признать авторско-правовым использованием произведения" (учебник ИЦЧП, С. 123). Об этом написано в ст. 1273 ГК. Статья же 1245я говорит про другое. "Вознаграждение поступает авторам и иным правообладателям не непосредственно от пользователей, а от изготовителей и импортёров оборудования и материальных носителей, которые могут использоваться для целей воспроизведения аудиовизуальных произведений и фонограмм в личных целях" (учебник ИЦЧП, С. 427).
#ip
Абз. 4 п. 2 ст. 1295 ГК:
Право на вознаграждение за служебное произведение неотчуждаемо и не переходит по наследству, однако права автора по договору, заключенному им с работодателем, и не полученные автором доходы переходят к наследникам.
IP+наследственное+трудовое. Гремучая смесь, не иначе. Ну и как и с моральным вредом неясно, почему такое требование не переходит по наследству, ведь оно денежное. Связь с личностью нужно искать не в основании возникновения обязательства, а в его содержании.
#ip
Сижу в общаге в тёплой пижаме и шерстяных носках. Чай пью, IP читаю. Пока готовлюсь к сессии на канале будут всякие сумбурные посты.
И начну с довольно странной позиции кодекса не признавать наименование некоммерческой организации в качестве интеллектуальной собственности. Показательно подсвечивает проблему спор между фондом "Подари жизнь" и его клоном. Давно слышал об этом деле (кажется, Александр Николаевич в лекции упоминал). Сейчас нашёл заметку на zakon.ru.
https://zakon.ru/discussion/2017/07/11/nekommercheskim_organizaciyam_dali_shans_na_zaschitu_naimenovaniya__grazhdanskaya_kollegiya_vs_rassm
В ПП ВС №10 от 23.04.2019 говорится следующее:
147. В силу пункта 4 статьи 54, пункта 1 статьи 1473 ГК РФ право на фирменное наименование возникает только у юридического лица, являющегося коммерческой организацией.
Наименования некоммерческих организаций (статья 4 Федерального закона "О некоммерческих организациях") не являются средством индивидуализации юридических лиц в смысле положений части четвертой ГК РФ, на них не распространяется правовая охрана, установленная параграфом 1 главы 76 ГК РФ.
Ввиду этого правила, предусмотренные статьей 1473 ГК РФ, в том числе запреты, содержащиеся в пункте 4 этой статьи, на некоммерческие организации не распространяются.
Вместе с тем право на наименование некоммерческой организации может быть защищено от действий третьих лиц, являющихся актом недобросовестной конкуренции или злоупотреблением правом, на основании положений статьи 10 ГК РФ, Федерального закона "О защите конкуренции", статьи 10.bis Парижской конвенции. Кроме того, наименованию некоммерческой организации может быть предоставлена правовая охрана как коммерческому обозначению в случаях, предусмотренных параграфом 4 главы 76 ГК РФ.
Не относятся к фирменным наименованиям в смысле положений ГК РФ наименования не являющихся юридическими лицами объединений юридических лиц.
То есть ВС буквально говорит, что защита наименованию НКО предоставляется, но защита иная (только в случаях недобросовестной конкуренции или злоупотреблением правом, а также когда НКО осуществляет коммерческую деятельность охраняется коммерческое обозначение (ст. 1538 ГК и далее)).
#ip
Python 3 has a std lib module for working with #IP addresses:
»> import ipaddress
»> ipaddress.ip_address('192.168.1.2')
IPv4Address('192.168.1.2')
»> ipaddress.ip_address('2001:af3::')
IPv6Address('2001:af3::')
Learn more here:
https://docs.python.org/3/library/ipaddress.html
🇺🇸Universal Settles with AI Music Platform Udio
Universal Music Group settled its copyright lawsuit against AI music generator Udio and announced a new joint venture to launch a licensed AI music platform in 2026.
The deal includes a financial settlement and licensing for UMG's catalog, with the future platform allowing users to remix songs and create in artists' styles. Artists who opt in to the coming platform will be compensated for both model training and when their songs are remixed.
#AI#IP