У меня был очень похожий опыт, но я остановился на другом решении.
Я тоже тестировал скрипт на 8 ядерном 32 гб дедике с широким каналом и там еле еле 10 потоков шло.
Работающими решением оказалось взять 32 ядерный локальный сервер с 64 оперативки, на не очень быстром канале, с сокс5, на нем 100+ потоков запускалось.
Скрипт тот же, никаких оптимизаций не делалось.
Стоит конечно побольше, чем аренда дедика но тут уж зависит от окупаемости твоей темы, стоит ли оно того или нет.
Но соксы могут быть узким местом, по возможности нужно делать свои соксы. Для этого, можно брать дешевые VPS и установить сокс через опенсурсный софт microsocks для линукса (в инете полно инструкций по установке, занимает не более 5 минут вручную, и можно установку через БАС автоматизировать также на случай если нужны сотни соксов).
Помогите спарсить dict по заданому key:value
-
Помогите кусочком кода для бас, достаю нужное value для поиска, дальше получаю в запросе ответ лист, элементы которого - словари(с полученных словарей по ключу нужно найти 1 нужный, как результат). Не особо понимаю как спарсить этот словарь(не уверен что правильно называю, ну да ладно).
Как пример, немного знаю синтаксис питона, там бы это выглядело примерно так:my_var="value"
get_list = [ {"test1": "oo","test2": "ee","ye": 14}, {"test1": "oo","test2": "value","ye": 19}, {"test1": "oo","test2": "ee","ye": 64} ]for i in get_list:
if i["test2"] == my_var:
new_dict = i -
Погуглил немного, в js это выглядит так, и в консоли работает:
var my_var = "value"
var get_list = [ {"test1": "oo", "test2": "ee", "ye": 14}, {"test1": "oo", "test2": "value", "ye": 19}, {"test1": "oo", "test2": "ee", "ye": 64} ]for (var i = 0; i < get_list.length; i++ ) {
if (get_list[i].test2 == my_var)
{var ooo = get_list[i];}
}
console.log(ooo)Но когда подставляю свои переменные в бас выполнить код, то ничего не происходит и [[G_DATAZ]] не появляется, может кто подскажет, что пропустил:
var my_var = [[MY_VALUE]];
var get_list = [[HTTP_SAVED_CONTENT]];for (var i = 0; i < get_list.length; i++ ) {
if (get_list[i].test2 == my_var) {
[[G_DATAZ]] = get_list[i];
};
}
Не принципиально, можно костылями сделать, но хотелось бы понять как попроще через выполнить код или может можно через json, попробую разобраться. -
@Basuser said in Помогите спарсить dict по заданому key:value:
var get_list = [[HTTP_SAVED_CONTENT]];
var get_list = JSON.parse([[HTTP_SAVED_CONTENT]]);