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

OSCHINA-MIRROR/fu_kai_yao-worker-rookie

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 6.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 10:26 75fc3f0

Воркер-рукие

github адрес

О проекте

Основанный на swoole лёгкий асинхронный фреймворк для задач, можно создать свой асинхронный сервисный сервер за 10 минут.

Автор: fukayao

Дата: 2020-4-14

Электронная почта: 1982104592@qq.com

Зависимости среды

  • Версия PHP больше или равна 5.6 (рекомендуется версия PHP7 и выше).
  • Posix, Pcntl и Swoole расширения.
  • Расширение Swoole не меньше версии 1.9.18 (режим процесса для запланированных задач; рекомендуется использовать режим процесса).
  • Расширение Swoole не меньше версии 4.2.9 (режим сопрограммы для запланированных задач; требуется версия PHP7 или выше).

Благодарности

Функции

  • Управление конфигурацией нескольких приложений.
  • Автозагрузка пространства имён.
  • Кэш Redis.
  • Пользовательский маршрут.
  • Разделение журнала.
  • Изоляция данных бизнес-модуля.
  • Запланированные задачи в секундах (поддерживаются режимы сопрограмм и процессов).
  • Служба очереди сообщений (поддерживается многопроцессное потребление сообщений).

Структура каталогов

├─apps                   — каталог слоя приложения
│  ├─api                 — каталог API-приложения
│  └─console             — каталог командного (запланированная задача) приложения

├─config                 — каталог конфигурации
├─router                 — каталог настройки маршрута API
├─runtime                — каталог выполнения и журнала
├─scripts                — каталог служебных сценариев
├─system                 — системный слой каталога
│  ├─commons             — системный общий каталог
│  ├─datalevels           — каталог данных
│  └─services            — каталог бизнес-логики
|
├─workerbase             — базовый каталог библиотеки фреймворка

Развёртывание проекта

  1. Измените путь к команде php в файле config.php:
// Путь к команде php
"phpbin" => "/usr/local/php/bin/php",
  1. Измените конфигурацию mysql базы данных и redis в config.php или используйте env.php для переопределения конфигурации по умолчанию:
'db'=> [
    'database_type' => 'mysql',
    'database_name' => 'test',
    'server' => '192.168.1.219',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
    // Необязательные параметры
    'port' => 3306,
    // Опционально, определение префикса таблицы
    'prefix' => ''
],

'redis' => [
        // Адрес сервера redis
        'host'  => '192.168.1.219',
        // Порт redis
        'port'  => '6379',
        // Пароль redis
        'password' => '',
        // Время ожидания соединения
        'timeout' => 10,
        // Постоянное соединение
        'persistent' => true
],
  1. Запустите службу:
cd scripts/

// Запуск запланированной задачи
bash crond.sh start
// Остановка запланированной задачи (с параметром -t 1200 для принудительного завершения через 1200 секунд)
bash crond.sh stop
// Перезапуск запланированной задачи (с параметром -t для принудительного перезапуска после истечения времени)
bash crond.sh restart

// Запуск службы очередей
bash workerServer.sh start
// Остановка службы очередей (с параметром -t 1200 для принудительного завершения через 1200 секунд)
bash workerServer.sh stop
// Перезапуск службы очередей (с параметром -t для принудительного перезапуска после истечения времени)
bash workerServer.sh restart

// Одновременный запуск запланированных задач и службы очередей
bash server.sh start
// Одновременная остановка запланированных задач и службы очередей (с параметром -t для принудительного завершения после истечения времени в фоновом режиме)
bash server.sh stop
// Одновременный перезапуск запланированных задач и службы очередей (с параметром -t для принудительного перезапуска после истечения времени в фоновом режиме)
bash server.sh restart
  1. Автоматический запуск: В Linux добавьте запланированные задачи в /etc/crontab:
# Каждые минуты пытаться запустить запланированную задачу swoole и службу очередей
*/1 * * * * root bash 绝对路径 к корневому каталогу проекта/scripts/server.sh start

Или запустите скрипт для установки: ./installCrontab 5. Перезапись маршрутов nginx:

    try_files $uri $uri/ /index.php$is_args$args;
}```

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

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

1
https://api.gitlife.ru/oschina-mirror/fu_kai_yao-worker-rookie.git
git@api.gitlife.ru:oschina-mirror/fu_kai_yao-worker-rookie.git
oschina-mirror
fu_kai_yao-worker-rookie
fu_kai_yao-worker-rookie
master