add ability to run octane

This commit is contained in:
Dennis
2022-06-07 11:00:56 +02:00
parent 4d8212e56f
commit 21986f2394
4 changed files with 862 additions and 82 deletions

2
.gitignore vendored
View File

@@ -16,3 +16,5 @@ yarn-error.log
/public/js/resources*.js
/storage/views/header.blade.php
/storage/views/footer.blade.php
rr
.rr.yaml

View File

@@ -18,10 +18,12 @@
"laravel/cashier": "^12.16",
"laravel/framework": "^9.0.2",
"laravel/horizon": "^5.8",
"laravel/octane": "^1.2",
"laravel/tinker": "^2.0",
"laravel/ui": "^2.1|^3.3.0",
"pragmarx/google2fa-laravel": "^1.3",
"predis/predis": "^1.1",
"spiral/roadrunner": "^2.8.2",
"symfony/http-client": "^6.0",
"symfony/mailgun-mailer": "^6.0",
"symfony/postmark-mailer": "^6.0",

719
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "2f685fe78cec827baf31e2977f2dfe79",
"content-hash": "beb5a8dfea901cf3564b85ca5ab62974",
"packages": [
{
"name": "aws/aws-crt-php",
@@ -309,6 +309,87 @@
},
"time": "2021-10-13T03:40:33+00:00"
},
{
"name": "composer/semver",
"version": "3.3.2",
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
"reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9",
"reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9",
"shasum": ""
},
"require": {
"php": "^5.3.2 || ^7.0 || ^8.0"
},
"require-dev": {
"phpstan/phpstan": "^1.4",
"symfony/phpunit-bridge": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "3.x-dev"
}
},
"autoload": {
"psr-4": {
"Composer\\Semver\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nils Adermann",
"email": "naderman@naderman.de",
"homepage": "http://www.naderman.de"
},
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be",
"homepage": "http://seld.be"
},
{
"name": "Rob Bast",
"email": "rob.bast@gmail.com",
"homepage": "http://robbast.nl"
}
],
"description": "Semver library that offers utilities, version constraint parsing and validation.",
"keywords": [
"semantic",
"semver",
"validation",
"versioning"
],
"support": {
"irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/semver/issues",
"source": "https://github.com/composer/semver/tree/3.3.2"
},
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2022-04-01T19:23:25+00:00"
},
{
"name": "dasprid/enum",
"version": "1.0.3",
@@ -1321,6 +1402,105 @@
],
"time": "2022-01-18T10:59:08+00:00"
},
{
"name": "laminas/laminas-diactoros",
"version": "2.11.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-diactoros.git",
"reference": "d1bc565b23c2040fafde398a8a5db083c47928c0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/d1bc565b23c2040fafde398a8a5db083c47928c0",
"reference": "d1bc565b23c2040fafde398a8a5db083c47928c0",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0 || ~8.1.0",
"psr/http-factory": "^1.0",
"psr/http-message": "^1.0"
},
"conflict": {
"phpspec/prophecy": "<1.9.0",
"zendframework/zend-diactoros": "*"
},
"provide": {
"psr/http-factory-implementation": "1.0",
"psr/http-message-implementation": "1.0"
},
"require-dev": {
"ext-curl": "*",
"ext-dom": "*",
"ext-gd": "*",
"ext-libxml": "*",
"http-interop/http-factory-tests": "^0.8.0",
"laminas/laminas-coding-standard": "~1.0.0",
"php-http/psr7-integration-tests": "^1.1",
"phpspec/prophecy-phpunit": "^2.0",
"phpunit/phpunit": "^9.1",
"psalm/plugin-phpunit": "^0.14.0",
"vimeo/psalm": "^4.3"
},
"type": "library",
"extra": {
"laminas": {
"config-provider": "Laminas\\Diactoros\\ConfigProvider",
"module": "Laminas\\Diactoros"
}
},
"autoload": {
"files": [
"src/functions/create_uploaded_file.php",
"src/functions/marshal_headers_from_sapi.php",
"src/functions/marshal_method_from_sapi.php",
"src/functions/marshal_protocol_version_from_sapi.php",
"src/functions/marshal_uri_from_sapi.php",
"src/functions/normalize_server.php",
"src/functions/normalize_uploaded_files.php",
"src/functions/parse_cookie_header.php",
"src/functions/create_uploaded_file.legacy.php",
"src/functions/marshal_headers_from_sapi.legacy.php",
"src/functions/marshal_method_from_sapi.legacy.php",
"src/functions/marshal_protocol_version_from_sapi.legacy.php",
"src/functions/marshal_uri_from_sapi.legacy.php",
"src/functions/normalize_server.legacy.php",
"src/functions/normalize_uploaded_files.legacy.php",
"src/functions/parse_cookie_header.legacy.php"
],
"psr-4": {
"Laminas\\Diactoros\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "PSR HTTP Message implementations",
"homepage": "https://laminas.dev",
"keywords": [
"http",
"laminas",
"psr",
"psr-17",
"psr-7"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-diactoros/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-diactoros/issues",
"rss": "https://github.com/laminas/laminas-diactoros/releases.atom",
"source": "https://github.com/laminas/laminas-diactoros"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2022-05-17T10:57:52+00:00"
},
{
"name": "laravel/cashier",
"version": "v12.17.0",
@@ -1656,6 +1836,81 @@
},
"time": "2022-04-20T18:07:08+00:00"
},
{
"name": "laravel/octane",
"version": "v1.2.12",
"source": {
"type": "git",
"url": "https://github.com/laravel/octane.git",
"reference": "0e360cfef791ae31cf22092aaf09004f863a7f7f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/octane/zipball/0e360cfef791ae31cf22092aaf09004f863a7f7f",
"reference": "0e360cfef791ae31cf22092aaf09004f863a7f7f",
"shasum": ""
},
"require": {
"laminas/laminas-diactoros": "^2.5",
"laravel/framework": "^8.81|^9.0",
"laravel/serializable-closure": "^1.0",
"php": "^8.0",
"symfony/psr-http-message-bridge": "^2.0"
},
"require-dev": {
"guzzlehttp/guzzle": "^7.2",
"mockery/mockery": "^1.4",
"nunomaduro/collision": "^5.10|^6.0",
"orchestra/testbench": "^6.16|^7.0",
"phpunit/phpunit": "^9.3",
"spiral/roadrunner": "^2.8.2"
},
"bin": [
"bin/roadrunner-worker",
"bin/swoole-server"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.x-dev"
},
"laravel": {
"providers": [
"Laravel\\Octane\\OctaneServiceProvider"
],
"aliases": {
"Octane": "Laravel\\Octane\\Facades\\Octane"
}
}
},
"autoload": {
"psr-4": {
"Laravel\\Octane\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Taylor Otwell",
"email": "taylor@laravel.com"
}
],
"description": "Supercharge your Laravel application's performance.",
"keywords": [
"laravel",
"octane",
"roadrunner",
"swoole"
],
"support": {
"issues": "https://github.com/laravel/octane/issues",
"source": "https://github.com/laravel/octane"
},
"time": "2022-05-31T12:32:48+00:00"
},
{
"name": "laravel/serializable-closure",
"version": "v1.2.0",
@@ -3922,6 +4177,299 @@
},
"time": "2021-12-11T13:40:54+00:00"
},
{
"name": "spiral/goridge",
"version": "v3.2.0",
"source": {
"type": "git",
"url": "https://github.com/spiral/goridge-php.git",
"reference": "3d8e97d7d1cc26b6130d233177b23ecb3c7d4efb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spiral/goridge-php/zipball/3d8e97d7d1cc26b6130d233177b23ecb3c7d4efb",
"reference": "3d8e97d7d1cc26b6130d233177b23ecb3c7d4efb",
"shasum": ""
},
"require": {
"ext-json": "*",
"ext-sockets": "*",
"php": ">=7.4",
"symfony/polyfill-php80": "^1.22"
},
"require-dev": {
"google/protobuf": "^3.17",
"infection/infection": "^0.26.1",
"jetbrains/phpstorm-attributes": "^1.0",
"phpunit/phpunit": "^9.5",
"rybakit/msgpack": "^0.7",
"vimeo/psalm": "^4.18.1"
},
"suggest": {
"ext-msgpack": "MessagePack codec support",
"ext-protobuf": "Protobuf codec support",
"google/protobuf": "(^3.0) Protobuf codec support",
"rybakit/msgpack": "(^0.7) MessagePack codec support"
},
"type": "goridge",
"extra": {
"branch-alias": {
"dev-master": "3.3.x-dev"
}
},
"autoload": {
"psr-4": {
"Spiral\\Goridge\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Anton Titov / Wolfy-J",
"email": "wolfy.jd@gmail.com"
}
],
"description": "High-performance PHP-to-Golang RPC bridge",
"support": {
"issues": "https://github.com/spiral/goridge-php/issues",
"source": "https://github.com/spiral/goridge-php/tree/v3.2.0"
},
"time": "2022-03-21T20:32:19+00:00"
},
{
"name": "spiral/roadrunner",
"version": "v2.10.3",
"source": {
"type": "git",
"url": "https://github.com/roadrunner-server/roadrunner.git",
"reference": "8cb55ccd67478947a9420ba5293de120bae6418f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/roadrunner-server/roadrunner/zipball/8cb55ccd67478947a9420ba5293de120bae6418f",
"reference": "8cb55ccd67478947a9420ba5293de120bae6418f",
"shasum": ""
},
"require": {
"spiral/roadrunner-cli": "^2.0",
"spiral/roadrunner-http": "^2.0",
"spiral/roadrunner-worker": "^2.0"
},
"type": "metapackage",
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Anton Titov / Wolfy-J",
"email": "wolfy.jd@gmail.com"
},
{
"name": "RoadRunner Community",
"homepage": "https://github.com/roadrunner-server/roadrunner/graphs/contributors"
}
],
"description": "RoadRunner: High-performance PHP application server, load-balancer and process manager written in Golang",
"support": {
"issues": "https://github.com/roadrunner-server/roadrunner/issues",
"source": "https://github.com/roadrunner-server/roadrunner/tree/v2.10.3"
},
"time": "2022-06-02T10:40:06+00:00"
},
{
"name": "spiral/roadrunner-cli",
"version": "v2.2.0",
"source": {
"type": "git",
"url": "https://github.com/spiral/roadrunner-cli.git",
"reference": "d8a224137b1d1ace0aac2308df396403393d63a8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spiral/roadrunner-cli/zipball/d8a224137b1d1ace0aac2308df396403393d63a8",
"reference": "d8a224137b1d1ace0aac2308df396403393d63a8",
"shasum": ""
},
"require": {
"composer/semver": "^3.2",
"ext-json": "*",
"php": ">=7.4",
"spiral/roadrunner-worker": ">=2.0.2",
"symfony/console": "^4.4|^5.0|^6.0",
"symfony/http-client": "^4.4|^5.0|^6.0",
"symfony/polyfill-php80": "^1.22"
},
"require-dev": {
"jetbrains/phpstorm-attributes": "^1.0",
"symfony/var-dumper": "^4.4|^5.0",
"vimeo/psalm": "^4.4"
},
"bin": [
"bin/rr"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.1.x-dev"
}
},
"autoload": {
"psr-4": {
"Spiral\\RoadRunner\\Console\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Anton Titov (wolfy-j)",
"email": "wolfy-j@spiralscout.com"
},
{
"name": "RoadRunner Community",
"homepage": "https://github.com/spiral/roadrunner/graphs/contributors"
}
],
"description": "RoadRunner: Command Line Interface",
"support": {
"issues": "https://github.com/spiral/roadrunner-cli/issues",
"source": "https://github.com/spiral/roadrunner-cli/tree/v2.2.0"
},
"time": "2022-05-17T06:44:24+00:00"
},
{
"name": "spiral/roadrunner-http",
"version": "v2.1.0",
"source": {
"type": "git",
"url": "https://github.com/spiral/roadrunner-http.git",
"reference": "3be8bac365d436028a9583e7d438bf6e7183e599"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spiral/roadrunner-http/zipball/3be8bac365d436028a9583e7d438bf6e7183e599",
"reference": "3be8bac365d436028a9583e7d438bf6e7183e599",
"shasum": ""
},
"require": {
"ext-json": "*",
"php": ">=7.4",
"psr/http-factory": "^1.0.1",
"psr/http-message": "^1.0.1",
"spiral/roadrunner-worker": "^2.2.0"
},
"require-dev": {
"jetbrains/phpstorm-attributes": "^1.0",
"nyholm/psr7": "^1.3",
"phpstan/phpstan": "~0.12",
"phpunit/phpunit": "~8.0",
"symfony/var-dumper": "^5.1",
"vimeo/psalm": "^4.22"
},
"suggest": {
"spiral/roadrunner-cli": "Provides RoadRunner installation and management CLI tools"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.2.x-dev"
}
},
"autoload": {
"psr-4": {
"Spiral\\RoadRunner\\Http\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Anton Titov / Wolfy-J",
"email": "wolfy.jd@gmail.com"
},
{
"name": "RoadRunner Community",
"homepage": "https://github.com/spiral/roadrunner/graphs/contributors"
}
],
"description": "RoadRunner: HTTP and PSR-7 worker",
"support": {
"issues": "https://github.com/spiral/roadrunner-http/issues",
"source": "https://github.com/spiral/roadrunner-http/tree/v2.1.0"
},
"time": "2022-03-22T14:48:00+00:00"
},
{
"name": "spiral/roadrunner-worker",
"version": "v2.2.0",
"source": {
"type": "git",
"url": "https://github.com/spiral/roadrunner-worker.git",
"reference": "97399e1f45b188e4288817672df858908b641401"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spiral/roadrunner-worker/zipball/97399e1f45b188e4288817672df858908b641401",
"reference": "97399e1f45b188e4288817672df858908b641401",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.0",
"ext-json": "*",
"ext-sockets": "*",
"php": ">=7.4",
"psr/log": "^1.0|^2.0|^3.0",
"spiral/goridge": "^3.2.0",
"symfony/polyfill-php80": "^1.23"
},
"require-dev": {
"jetbrains/phpstorm-attributes": "^1.0",
"symfony/var-dumper": "^5.1",
"vimeo/psalm": "^4.4"
},
"suggest": {
"spiral/roadrunner-cli": "Provides RoadRunner installation and management CLI tools"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.3.x-dev"
}
},
"autoload": {
"psr-4": {
"Spiral\\RoadRunner\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Anton Titov (wolfy-j)",
"email": "wolfy-j@spiralscout.com"
},
{
"name": "RoadRunner Community",
"homepage": "https://github.com/spiral/roadrunner/graphs/contributors"
}
],
"description": "RoadRunner: PHP worker",
"support": {
"issues": "https://github.com/spiral/roadrunner-worker/issues",
"source": "https://github.com/spiral/roadrunner-worker/tree/v2.2.0"
},
"time": "2022-03-22T11:03:47+00:00"
},
{
"name": "stripe/stripe-php",
"version": "v7.128.0",
@@ -5942,6 +6490,94 @@
],
"time": "2022-05-11T12:12:29+00:00"
},
{
"name": "symfony/psr-http-message-bridge",
"version": "v2.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/psr-http-message-bridge.git",
"reference": "22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34",
"reference": "22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34",
"shasum": ""
},
"require": {
"php": ">=7.1",
"psr/http-message": "^1.0",
"symfony/http-foundation": "^4.4 || ^5.0 || ^6.0"
},
"require-dev": {
"nyholm/psr7": "^1.1",
"psr/log": "^1.1 || ^2 || ^3",
"symfony/browser-kit": "^4.4 || ^5.0 || ^6.0",
"symfony/config": "^4.4 || ^5.0 || ^6.0",
"symfony/event-dispatcher": "^4.4 || ^5.0 || ^6.0",
"symfony/framework-bundle": "^4.4 || ^5.0 || ^6.0",
"symfony/http-kernel": "^4.4 || ^5.0 || ^6.0",
"symfony/phpunit-bridge": "^5.4@dev || ^6.0"
},
"suggest": {
"nyholm/psr7": "For a super lightweight PSR-7/17 implementation"
},
"type": "symfony-bridge",
"extra": {
"branch-alias": {
"dev-main": "2.1-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Bridge\\PsrHttpMessage\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"description": "PSR HTTP message bridge",
"homepage": "http://symfony.com",
"keywords": [
"http",
"http-message",
"psr-17",
"psr-7"
],
"support": {
"issues": "https://github.com/symfony/psr-http-message-bridge/issues",
"source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.1.2"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-11-05T13:13:39+00:00"
},
{
"name": "symfony/routing",
"version": "v6.1.0",
@@ -6955,87 +7591,6 @@
],
"time": "2022-02-25T20:21:48+00:00"
},
{
"name": "composer/semver",
"version": "3.3.2",
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
"reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9",
"reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9",
"shasum": ""
},
"require": {
"php": "^5.3.2 || ^7.0 || ^8.0"
},
"require-dev": {
"phpstan/phpstan": "^1.4",
"symfony/phpunit-bridge": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "3.x-dev"
}
},
"autoload": {
"psr-4": {
"Composer\\Semver\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nils Adermann",
"email": "naderman@naderman.de",
"homepage": "http://www.naderman.de"
},
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be",
"homepage": "http://seld.be"
},
{
"name": "Rob Bast",
"email": "rob.bast@gmail.com",
"homepage": "http://robbast.nl"
}
],
"description": "Semver library that offers utilities, version constraint parsing and validation.",
"keywords": [
"semantic",
"semver",
"validation",
"versioning"
],
"support": {
"irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/semver/issues",
"source": "https://github.com/composer/semver/tree/3.3.2"
},
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2022-04-01T19:23:25+00:00"
},
{
"name": "composer/xdebug-handler",
"version": "3.0.3",

221
config/octane.php Normal file
View File

@@ -0,0 +1,221 @@
<?php
use Laravel\Octane\Contracts\OperationTerminated;
use Laravel\Octane\Events\RequestHandled;
use Laravel\Octane\Events\RequestReceived;
use Laravel\Octane\Events\RequestTerminated;
use Laravel\Octane\Events\TaskReceived;
use Laravel\Octane\Events\TaskTerminated;
use Laravel\Octane\Events\TickReceived;
use Laravel\Octane\Events\TickTerminated;
use Laravel\Octane\Events\WorkerErrorOccurred;
use Laravel\Octane\Events\WorkerStarting;
use Laravel\Octane\Events\WorkerStopping;
use Laravel\Octane\Listeners\CollectGarbage;
use Laravel\Octane\Listeners\DisconnectFromDatabases;
use Laravel\Octane\Listeners\EnsureUploadedFilesAreValid;
use Laravel\Octane\Listeners\EnsureUploadedFilesCanBeMoved;
use Laravel\Octane\Listeners\FlushTemporaryContainerInstances;
use Laravel\Octane\Listeners\FlushUploadedFiles;
use Laravel\Octane\Listeners\ReportException;
use Laravel\Octane\Listeners\StopWorkerIfNecessary;
use Laravel\Octane\Octane;
return [
/*
|--------------------------------------------------------------------------
| Octane Server
|--------------------------------------------------------------------------
|
| This value determines the default "server" that will be used by Octane
| when starting, restarting, or stopping your server via the CLI. You
| are free to change this to the supported server of your choosing.
|
| Supported: "roadrunner", "swoole"
|
*/
'server' => env('OCTANE_SERVER', 'roadrunner'),
/*
|--------------------------------------------------------------------------
| Force HTTPS
|--------------------------------------------------------------------------
|
| When this configuration value is set to "true", Octane will inform the
| framework that all absolute links must be generated using the HTTPS
| protocol. Otherwise your links may be generated using plain HTTP.
|
*/
'https' => env('OCTANE_HTTPS', false),
/*
|--------------------------------------------------------------------------
| Octane Listeners
|--------------------------------------------------------------------------
|
| All of the event listeners for Octane's events are defined below. These
| listeners are responsible for resetting your application's state for
| the next request. You may even add your own listeners to the list.
|
*/
'listeners' => [
WorkerStarting::class => [
EnsureUploadedFilesAreValid::class,
EnsureUploadedFilesCanBeMoved::class,
],
RequestReceived::class => [
...Octane::prepareApplicationForNextOperation(),
...Octane::prepareApplicationForNextRequest(),
//
],
RequestHandled::class => [
//
],
RequestTerminated::class => [
// FlushUploadedFiles::class,
],
TaskReceived::class => [
...Octane::prepareApplicationForNextOperation(),
//
],
TaskTerminated::class => [
//
],
TickReceived::class => [
...Octane::prepareApplicationForNextOperation(),
//
],
TickTerminated::class => [
//
],
OperationTerminated::class => [
FlushTemporaryContainerInstances::class,
// DisconnectFromDatabases::class,
// CollectGarbage::class,
],
WorkerErrorOccurred::class => [
ReportException::class,
StopWorkerIfNecessary::class,
],
WorkerStopping::class => [
//
],
],
/*
|--------------------------------------------------------------------------
| Warm / Flush Bindings
|--------------------------------------------------------------------------
|
| The bindings listed below will either be pre-warmed when a worker boots
| or they will be flushed before every new request. Flushing a binding
| will force the container to resolve that binding again when asked.
|
*/
'warm' => [
...Octane::defaultServicesToWarm(),
],
'flush' => [
//
],
/*
|--------------------------------------------------------------------------
| Octane Cache Table
|--------------------------------------------------------------------------
|
| While using Swoole, you may leverage the Octane cache, which is powered
| by a Swoole table. You may set the maximum number of rows as well as
| the number of bytes per row using the configuration options below.
|
*/
'cache' => [
'rows' => 1000,
'bytes' => 10000,
],
/*
|--------------------------------------------------------------------------
| Octane Swoole Tables
|--------------------------------------------------------------------------
|
| While using Swoole, you may define additional tables as required by the
| application. These tables can be used to store data that needs to be
| quickly accessed by other workers on the particular Swoole server.
|
*/
'tables' => [
'example:1000' => [
'name' => 'string:1000',
'votes' => 'int',
],
],
/*
|--------------------------------------------------------------------------
| File Watching
|--------------------------------------------------------------------------
|
| The following list of files and directories will be watched when using
| the --watch option offered by Octane. If any of the directories and
| files are changed, Octane will automatically reload your workers.
|
*/
'watch' => [
'app',
'bootstrap',
'config',
'database',
'public/**/*.php',
'resources/**/*.php',
'routes',
'composer.lock',
'.env',
],
/*
|--------------------------------------------------------------------------
| Garbage Collection Threshold
|--------------------------------------------------------------------------
|
| When executing long-lived PHP scripts such as Octane, memory can build
| up before being cleared by PHP. You can force Octane to run garbage
| collection if your application consumes this amount of megabytes.
|
*/
'garbage' => 50,
/*
|--------------------------------------------------------------------------
| Maximum Execution Time
|--------------------------------------------------------------------------
|
| The following setting configures the maximum execution time for requests
| being handled by Octane. You may set this value to 0 to indicate that
| there isn't a specific time limit on Octane request execution time.
|
*/
'max_execution_time' => 30,
];