1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/osgochina-swoole-crontab

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 25.11.2024 07:24 6897d80

Swoole-Crontab (на основе расширения Swoole)

  1. Обзор
  • На основе таймера Swoole, поддерживает обработку с точностью до секунды.
  • Асинхронная многопроцессорная обработка.
  • Полностью совместим с синтаксисом crontab и поддерживает настройку секунд, можно использовать массивы для точного определения времени операции.
  • Централизованный и многоклиентский режим, способный к горизонтальному расширению.
  • Управление через веб-интерфейс, добавление, изменение и удаление задач, полный контроль доступа.
  • Рекомендуется использовать расширение Swoole 1.8.0+.
  1. Архитектура

  2. Конфигурация Crontab

Введение в конфигурацию времени:

0 1 2 3 4 5
+------ день недели (0–6) (воскресенье = 0)
+------ месяц (1–12)
+-------- день месяца (1–31)
+---------- час (0–23)
+------------ минута (0–59)
+-------------- секунда (0–59), можно опустить, если нет 0, то минимальная единица времени — минута
  1. Начало использования

  2. Изменить конфигурацию:

    1.1 Конфигурация центрального сервера:

     * Изменить конфигурацию базы данных в /path/to/src/center/configs/dev/db.php.
     * Выполнить файл sql /path/to/doc/crontab.sql в базе данных mysql.
     * Изменить PUBLIC_PATH в src/center/_init.php, путь к фреймворку Swoole.

    1.2 Конфигурация административного интерфейса:

     * Изменить конфигурацию базы данных в src/admin/configs/dev/db.php.
     * В src/admin/configs/dev/service.php указать IP-адрес и порт для прослушивания при запуске центрального сервера.
     * В src/public/index.php изменить WEBROOT на доменное имя и PUBLIC_PATH на путь к фреймворку Swoole.
  3. Скачать фреймворк Swoole на локальный компьютер /data/www/public/.

  4. Настроить nginx, пример конфигурации:

server {
    listen       80;
    server_name  crontab.test.com;

    root /data/www/wwwroot/swoole-crontab/src/public;

    index index.php index.html;
    location / {
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php;
        }
    }
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}
  1. Запустить центральный сервер:

    • /path/to/php /path/to/src/center/center.php start -d -h 127.0.0.1 -p 8901.
  2. Запустить клиент:

    • -h указывает адрес центрального сервера, -p — порт центрального сервера.
    • /path/to/php /path/to/src/agent/agent.php start -d -h 127.0.0.1 -p 8901.
  3. Доступ к веб-интерфейсу:

  • Введите адрес конфигурации nginx для доступа к веб-интерфейсу, по умолчанию имя пользователя и пароль — admin/admin.
  1. Шаги использования:
  • Пожалуйста, следуйте вышеуказанным шагам, так как административный интерфейс подключается к центральному серверу через API. Поэтому необходимо сначала запустить центральный сервер, а затем открыть административный интерфейс.
  1. Общение

  2. Снимок экрана административного интерфейса:

  3. Более чёткая архитектура. Спасибо @xufei100:

QQ группа: 560807006

  1. Задачи
  • Удалить зависимость от nginx.
  • Унифицировать конфигурационные файлы.
  • Убрать зависимость от фреймворка Swoole.
  • Реализовать RESTful API.
  • Управлять задачами через командную строку.
  • Сделать возможным работу без центрального сервера.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/osgochina-swoole-crontab.git
git@api.gitlife.ru:oschina-mirror/osgochina-swoole-crontab.git
oschina-mirror
osgochina-swoole-crontab
osgochina-swoole-crontab
master