У меня был очень похожий опыт, но я остановился на другом решении.
Я тоже тестировал скрипт на 8 ядерном 32 гб дедике с широким каналом и там еле еле 10 потоков шло.
Работающими решением оказалось взять 32 ядерный локальный сервер с 64 оперативки, на не очень быстром канале, с сокс5, на нем 100+ потоков запускалось.
Скрипт тот же, никаких оптимизаций не делалось.
Стоит конечно побольше, чем аренда дедика но тут уж зависит от окупаемости твоей темы, стоит ли оно того или нет.
Но соксы могут быть узким местом, по возможности нужно делать свои соксы. Для этого, можно брать дешевые VPS и установить сокс через опенсурсный софт microsocks для линукса (в инете полно инструкций по установке, занимает не более 5 минут вручную, и можно установку через БАС автоматизировать также на случай если нужны сотни соксов).
Вопрос по sms activate
-
@redbeard said in Вопрос по sms activate:
sms activate
Смотрите документацию по API http://sms-activate.ru/index.php?act=api Изменение статуса активации > 1 - сообщить о готовности номера (смс на номер отправлено)
-
@redbeard через http клиент или в браузере прям заходи на адрес
http://sms-activate.ru/stubs/handler_api.php?api_key=$api_key&action=getNumber&service=$service&forward=$forward&operator=$operator&ref=$ref&country=$countryгде:
$api_key - ключ АПИ$service - сервис для заказа
$forward - Необходимо ли выполнить переадресацию? Принимаемые значения - 0 (не выполнять), 1 - (выполнять). (необязательный параметр, по умолчанию равен 0)
$operator - получить номера определенного оператора (принимаемые значения: mts, tele2, megafon, beeline, any, где any - любой оператор). Необязательный параметр, по умолчанию равен any
$ref - передать реферальный идентификатор. Подробнее
$country - идентификатор страны номера (0 - Россия, 1 - Украина, 2 - Казахстан, 3 - Китай, 4 - Филиппины, 5 - Мьянма, 6 - Индонезия, 7 - Малайзия, 8 - Кения, 9 - Танзания, 10 - Вьетнам, 11 - Кыргызстан, 12 - США, 13 - Израиль, 14 - Гонконг, 15 - Польша), если не указано, то по умолчанию будет выбран номер в соответствии с указанным параметром в левом менюv
-
@bablouser
Ох, спасибо большое, пояснил так пояснил, а если мне надо просто"1 - сообщить о готовности номера (смс на номер отправлено)" это вообще как тогда, по идее же не надо тогда писать $service, $forward, $operator, $ref, $country?
Заранее спасибо
Выходит по идее http://sms-activate.ru/stubs/handler_api.php?api_key=нашапи&action=setStatus&status=1&id=$id&forward={{PHONE_NUMBER}}
Но как получить id не делая это самим, ибо на этот запрос выходит bad_status -
@redbeard
в документации же все естьhttp://sms-activate.ru/stubs/handler_api.php?api_key=$api_key&action=getStatus&id=$id$api_key - ключ АПИ
$id - id активации
Ответы сервиса:
STATUS_WAIT_CODE - ожидание смс
STATUS_WAIT_RETRY:$lastcode - ожидание уточнения кода (где $lastcode - прошлый, неподошедший код)
STATUS_WAIT_RESEND - ожидание повторной отправки смс (софт должен нажать повторно выслать смс и выполнить изменение статуса на 6)
STATUS_CANCEL - активация отменена
STATUS_OK:$code - код получен (где $code - код активации)Возможные ошибки:
NO_ACTIVATION - id активации не существует
ERROR_SQL - ошибка SQL-сервера
BAD_KEY - Неверный API-ключ
BAD_ACTION - некорректное действие -
@bablouser said in Вопрос по sms activate:
http://sms-activate.ru/stubs/handler_api.php?api_key=$api_key&action=getStatus&id=$id
Спасибо, но как взять $id - id активации, не заходя на сайт, ибо в BAS дается только телефон вроде.
Заранее спассибо -
@redbeard Попробуйте получить его через конструктор, не получится- спрашивайте, поможем
Ничего сложного на самом деле нет, сложно было бы если Вам не отвечали. А тут, как говорится "глаза боятся, руки делают". Используйте модуль HTTP клиент
Get запрос
Содержание ответаПосле этого модуль Регулярные выражения
Первое вхождение (вводите сформированную в https://bablosoft.github.io/RegexpConstructor/ регулярку и используете в дальнейшем переменную Group1) -
@redbeard
Ответы сервиса:
NO_NUMBERS - нет номеров
NO_BALANCE - закончился баланс
ACCESS_NUMBER:$id:$number - номер выдан ($id - id операции,$number - номер телефона)Возможные ошибки:
BAD_ACTION - некорректное действие
BAD_SERVICE - некорректное наименование сервиса
BAD_KEY - Неверный API-ключ
ERROR_SQL - ошибка SQL-сервера
BANNED:$time - аккаунт заблокирован до $time, где time - время формате YYYY-m-d H-i-s (2000-12-31 23-59-59)в ответе придет во тут
ACCESS_NUMBER:$id:$number - номер выдан ($id - id операции,$number - номер телефона)
