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

OSCHINA-MIRROR/fu_kai_yao-worker-rookie

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

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

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 )

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

Введение

Worker-rookie — это лёгкая асинхронная задачавая рамка на основе swoole, которая позволяет создать свой асинхронный задачный сервис за 10 минут. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
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