• Почему сервер падает через AJAX запросы?

    @FaTTeST
    Возможно, проблема связана с тем, что на сервере исчерпывается память или другие ресурсы, которые необходимы для обработки запросов. Каждый раз, когда пользователь скроллит вниз, AJAX запрос отправляет новый запрос на сервер, который выполняет запрос к базе данных и возвращает результат. Если это происходит очень часто и быстро, то может быть нагрузка на сервере, особенно если на сервере запущено много других приложений или есть другие пользователи, которые используют те же ресурсы.

    Также возможно, что проблема связана с настройками сервера или сетевыми настройками, которые могут ограничивать количество запросов или время выполнения запросов. В таком случае, вам может потребоваться настроить сервер.

    Чтобы более точно определить причину проблемы, вам может потребоваться проверить журналы сервера, чтобы увидеть, есть ли какие-либо сообщения об ошибках или исключениях, которые могут помочь вам определить проблему.
    Ответ написан
    3 комментария
  • Есть ли плагин который при загрузке конвертирует картинки из WebP?

    @FaTTeST
    Да, существует несколько плагинов для WordPress, которые могут конвертировать картинки из формата WebP в другой формат при загрузке на сайт.

    Один из таких плагинов - WebP Express. Этот плагин позволяет автоматически конвертировать картинки в формат WebP при загрузке на сайт и наоборот - конвертировать картинки из формата WebP в другой формат при необходимости.

    Другой плагин - EWWW Image Optimizer - также может конвертировать изображения в формат WebP и другие форматы при загрузке на сайт. Он также может оптимизировать изображения для уменьшения размера файлов и улучшения скорости загрузки страниц.

    Третий плагин - ShortPixel - также позволяет конвертировать изображения в формат WebP и другие форматы, а также оптимизировать их для уменьшения размера файлов и улучшения производительности сайта.

    Надеюсь, поможет.
    Ответ написан
  • Как отправить данные из телеграм бота на сайт?

    @FaTTeST
    Необходимо создать webhook на своем сайте, который будет принимать информацию от телеграмм бота. Для этого можно использовать библиотеку Flask.

    В настройках телеграмм бота необходимо указать URL вашего webhook'а.

    Для того чтобы обработать данные, которые приходят от телеграмм бота, можно использовать методы библиотеки python-telegram-bot.

    После получения данных от телеграмм бота и их обработки, необходимо отправить данные на свой сайт. Для этого можно использовать методы библиотеки requests.

    Не забудьте добавить необходимые проверки и обработку ошибок.

    пример кода на Flask и python-telegram-bot:

    from flask import Flask, request
    import requests
    import json
    from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
    
    app = Flask(__name__)
    
    @app.route('/', methods=['POST'])
    def index():
        if request.method == 'POST':
            # получаем данные от телеграмм бота
            data = json.loads(request.data)
            
            # обрабатываем данные
            chat_id = data['message']['chat']['id']
            message_text = data['message']['text']
            
            # отправляем данные на свой сайт
            url = 'https://example.com'
            data = {'chat_id': chat_id, 'message_text': message_text}
            headers = {'Content-type': 'application/json'}
            response = requests.post(url, data=json.dumps(data), headers=headers)
            
            return 'OK'
    
    if __name__ == '__main__':
        # запускаем Flask приложение
        app.run()
        
        # запускаем телеграмм бота
        updater = Updater('TOKEN')
        dispatcher = updater.dispatcher
    
        def start(update, context):
            context.bot.send_message(chat_id=update.effective_chat.id, text="Hello World!")
            
        def echo(update, context):
            context.bot.send_message(chat_id=update.effective_chat.id, text=update.message.text)
        
        start_handler = CommandHandler('start', start)
        echo_handler = MessageHandler(Filters.text & (~Filters.command), echo)
        
        dispatcher.add_handler(start_handler)
        dispatcher.add_handler(echo_handler)
        
        updater.start_polling()


    В данном примере мы создаем webhook на своем сайте, который будет принимать информацию от телеграмм бота. Затем мы запускаем телеграмм бота и создаем обработчики команды /start и текстовых сообщений. В обработчиках мы отправляем сообщения обратно в телеграмм и отправляем данные на свой сайт с помощью библиотеки requests.
    Ответ написан
  • Как запускать и контролировать статус работы сторонних exe файлов в c++?

    @FaTTeST
    Для запуска внешней программы из кода на C++ можно использовать функцию system(). Эта функция позволяет выполнить команду в командной строке. Например, чтобы запустить программу installer.exe, можно использовать следующий код:

    #include <stdlib.h>
    
    int main()
    {
        system("installer.exe");
        return 0;
    }


    Функция system() блокирует выполнение программы, пока запущенный процесс не завершится. Если вам нужно запустить процесс асинхронно, то можно использовать функцию CreateProcess() из библиотеки Windows API.

    Чтобы определить, что внешняя программа завершила работу, можно использовать функцию WaitForSingleObject(). Эта функция блокирует выполнение программы до тех пор, пока указанный объект не перейдет в сигнальное состояние. В случае с внешней программой, этим объектом будет процесс, который она запустила. Например, чтобы дождаться завершения программы installer.exe, можно использовать следующий код:

    #include <windows.h>
    
    int main()
    {
        STARTUPINFO si;
        PROCESS_INFORMATION pi;
        ZeroMemory(&si, sizeof(si));
        si.cb = sizeof(si);
        ZeroMemory(&pi, sizeof(pi));
    
        // Запускаем процесс
        CreateProcess("installer.exe", NULL, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
    
        // Ожидаем завершения процесса
        WaitForSingleObject(pi.hProcess, INFINITE);
    
        // Закрываем дескрипторы процесса и потока
        CloseHandle(pi.hProcess);
        CloseHandle(pi.hThread);
    
        return 0;
    }


    В этом коде мы используем функции CreateProcess() и WaitForSingleObject() для запуска процесса и ожидания его завершения. Функция CreateProcess() создает новый процесс и возвращает дескрипторы процесса и потока. Функция WaitForSingleObject() ожидает завершения процесса, используя дескриптор процесса, который мы передали ей в качестве параметра. После завершения процесса мы закрываем его дескриптор и дескриптор потока с помощью функции CloseHandle().
    Ответ написан
    Комментировать