За последние 24 часа нас посетили 22739 программистов и 1209 роботов. Сейчас ищут 680 программистов ...

Скрипт, который будет собирать все запросы к vk api, группировать и отправлять одним запросом

Тема в разделе "PHP для новичков", создана пользователем Seva4ek, 28 янв 2020.

Метки:
  1. Seva4ek

    Seva4ek Новичок

    С нами с:
    28 янв 2020
    Сообщения:
    2
    Симпатии:
    0
    Всем привет!
    Сам новичок, но написал в эту ветвь, как вопрос к профи)
    Занимаюсь разработкой ботов для vk, ну и проекты понемногу растут, а с ними и нагрузка на них.
    Сейчас столкнулся с лимитом на кол-во запросов к вк (более 20 в секунду), не очень приятно, они начинают отпадать. Временно я их поставил в очередь на повторную отправку с периодом от 1 до 5 секунд. Спасает конечно, но думаю не надолго
    В документации вк, конечно же есть решение для моей проблемы, метод execute (Универсальный метод, который позволяет запускать последовательность других методов, сохраняя и фильтруя промежуточные результаты.)
    На данный момент, у меня longpoll на питоне, который передаёт запросы на php, костыль конечно, но до него у меня был callback сервер на php который просто не выдержал нагрузки осенью. Сейчас переписываю на longpoll php, поэтому и решил сразу решить проблему с запросами
    В общем сам вопрос - как правильно из всего скрипта бота отправлять запросы на скрипт, который будет группировать эти запросы и отправлять с помощью метода execute

    Поправочка, запросы, не ожидающие обратного ответа, такие как отправка сообщений, они составляют 90% моего скрипта

    Из всего что ко мне пришло в голову, записывать запросы в отдельный файл, с которого скрипт будет считывать их и отправлять группой, скажем так каждые 1/10 секунды+-.
    Пока писал вопрос, вспомнил что читал про rabbitMQ. Он может поспособствовать решению моей проблемы?
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.237
    Адрес:
    там-сям
    Нет, брат, это так не работает. Ты никак не сможешь зафорсить профи решать твои задачки, куда бы ты ни написал. Поэтому вэлком ту "PHP для новичков"
    --- Добавлено ---
    Ответ: начни делать, покажи результат и только тогда сформулируй вопросы.
     
  3. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    Именно RabbitMQ (или любая другая нормальная очередь) должна решать проблему.
     
  4. Seva4ek

    Seva4ek Новичок

    С нами с:
    28 янв 2020
    Сообщения:
    2
    Симпатии:
    0
    Спасибо) опробовал rabbitMQ, хороший инструмент, перешел на него)