- 浏览: 803394 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
xieye:
jetty插件有好几个版本,1.6,1.7,1.8
我选的是用 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
还有,
注:第2部分时,需要先安装jetty,我自己在安装过程 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
说明一下:实际使用中,导入时我并没有错误。2、我把eclips ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
其实还是有一些先决条件的。1是外部环境,2是进步是阶段性的(意 ...
(转载文章)如何愉悦起来:一位精神治疗师的见解 -
mandy_yanzi:
我都已经饿7天了坚持为了我的衣衣
身体健康的问题
原创文章,转载注明出处。
horizon是laravel的官方的队列控制面板。
安装时的要点是:
1126补充。
laravel系统刚composer安装完成后,config中带有一个queue.php
安装horizon 时,必须先确保 queue.php
里的 connections.redis.connection,默认是default。
得对应 database.php 里的 redis.下面的键。
所以,可以在database.php里 加上 自己命名的键。
同时 在 queue.php里 设置这个自己命名的键。
composer require laravel/horizon ,这一步仅仅vendor目录修改。
php artisan horizon:install,此命令影响如下:
modified: config/app.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
app/Providers/HorizonServiceProvider.php
config/horizon.php
public/vendor/
其中,app.php修改了providers 键,多了一行。
App\Providers\HorizonServiceProvider::class
另外加一个配置文件horizon.php,加一个服务提供者HorizonServiceProvider.php
加public/vendor目录,是静态页面。。
==========================================================================
==========================================================================
创建队列任务。
php artisan make:job JobTest
修改此类。
public function handle()
{
//
logger(time());
logger(11);
//echo 12;
}
修改
route/web.php
Route::get('/', function () {
\App\Jobs\JobTest::dispatch()->onQueue('default');
return '加入队列成功';
});
==========================================================================
最好在生产服务器上也使用
php artisan horizon:install 这个命令。
原因是他居然在public下会生成文件。而一般的laravel插件不会这么做。
很容易忘记拷贝从本地。
注意:
supervisord的配置文件里,
user配置必须是真实的用户。
修改app/Provides/HorizonServiceProvider.php:
配置要点:
horizon的配置中,
'path' => 'admin/horizon',把这个面板的页面放到admin路径后。
然后在laravel-admin里,设置菜单,角色自己定义,路径horizon
然后为了安全起见,
horizon的配置文件里:
'middleware' => ['web','admin',],
这样的话,只有登录后台,才能看到面板。
继续这个配置文件,下面这个queue是在database.php配置的。
'use' => 'queue',
database.php
'redis' => [
'client' => 'phpredis',
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
//'read_timeout' => 60,
],
// 这是用于缓存的。
'cache' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 1,
],
// 这是用于队列的。
'queue' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 2,
],
],
每个redis都有16个库,编号应该是从0到15
一定要分开来,不过就算不分的话,他好像是有前缀的,关系也不大,分最好。分的参数是那个database
继续:
下面那个supervisor,并不代表必须要使用supervisord。只要执行
php artisan horizon这个命令,都会生效。
processes这个参数,生成多少个进程。
queue这个参数重要,确定这个配置监听哪些队列。
'environments' => [
'production' => [
'supervisor-1' => [
'connection' => 'redis',
'queue' => ['q1','qiye_weixin','email','log1','log2'],
'balance' => 'false',
'processes' => 3,
'tries' => 3,
],
'supervisor-2' => [
'connection' => 'redis',
'queue' => ['default',],
'balance' => 'false',
'processes' => 1,
'tries' => 3,
],
],
'local' => [
'supervisor-1' => [
'connection' => 'redis',
'queue' => ['default','q1','qiye_weixin','email','log1','log2'],
'balance' => 'simple',
'processes' => 3,
'tries' => 3,
],
],
],
配置补充:
3个配置文件
database.php
queue.php
horizon.php
,其中,键名自己定义,下面只是实例,也可以不添加,只修改也行的。
示例如下:
其中,database.php里设置了多个redis连接。自己添加一个队列专用的。
'db_queue_redis' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_DB', 0),
],
,把queued.php 的 添加
'queue_redis' => [
'driver' => 'redis',
'connection' => 'db_queue_redis',
'queue' => 'default',
'retry_after' => 90,
'block_for' => null,
],
3,给 queue.php 的设置 default 键
'default' => 'queue_redis',
4、horizon.php
'environments' => [
'production' => [
'supervisor-1' => [
'connection' => 'queue_redis',
'queue' => ['default'],
'balance' => 'simple',
'processes' => 10,
'tries' => 1,
],
],
'local' => [
'supervisor-1' => [
'connection' => 'queue_redis',
'queue' => ['default'],
'balance' => 'simple',
'processes' => 3,
'tries' => 1,
],
],
],
5、关于 horizon.php 的 use指令,可以用默认 的default 连接。也可以自己修改。随意。
使用要点:
当使用horizon之后,就不需要再使用
php artisan queue:work 这个命令了。
而是改由
php artisan horizon 这个命令来消费队列。
当然,在生产环境中,肯定也不是直接使用这个命令,而是使用supervisord,反正也超简单的。
/etc/supervisord.d/horizon.ini:
妈妈再也不用担心我没有好用的php队列了!
horizon是laravel的官方的队列控制面板。
安装时的要点是:
1126补充。
laravel系统刚composer安装完成后,config中带有一个queue.php
安装horizon 时,必须先确保 queue.php
里的 connections.redis.connection,默认是default。
得对应 database.php 里的 redis.下面的键。
所以,可以在database.php里 加上 自己命名的键。
同时 在 queue.php里 设置这个自己命名的键。
composer require laravel/horizon ,这一步仅仅vendor目录修改。
php artisan horizon:install,此命令影响如下:
modified: config/app.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
app/Providers/HorizonServiceProvider.php
config/horizon.php
public/vendor/
其中,app.php修改了providers 键,多了一行。
App\Providers\HorizonServiceProvider::class
另外加一个配置文件horizon.php,加一个服务提供者HorizonServiceProvider.php
加public/vendor目录,是静态页面。。
==========================================================================
==========================================================================
创建队列任务。
php artisan make:job JobTest
修改此类。
public function handle()
{
//
logger(time());
logger(11);
//echo 12;
}
修改
route/web.php
Route::get('/', function () {
\App\Jobs\JobTest::dispatch()->onQueue('default');
return '加入队列成功';
});
==========================================================================
最好在生产服务器上也使用
php artisan horizon:install 这个命令。
原因是他居然在public下会生成文件。而一般的laravel插件不会这么做。
很容易忘记拷贝从本地。
注意:
supervisord的配置文件里,
user配置必须是真实的用户。
修改app/Provides/HorizonServiceProvider.php:
<?php namespace App\Providers; use Laravel\Horizon\Horizon; use Illuminate\Support\Facades\Gate; use Laravel\Horizon\HorizonApplicationServiceProvider; class HorizonServiceProvider extends HorizonApplicationServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { Horizon::auth(function ($request) { return true; }); } /** * Register the Horizon gate. * * This gate determines who can access Horizon in non-local environments. * * @return void */ protected function gate() { Gate::define('viewHorizon', function ($user) { return true ; }); } }
配置要点:
horizon的配置中,
'path' => 'admin/horizon',把这个面板的页面放到admin路径后。
然后在laravel-admin里,设置菜单,角色自己定义,路径horizon
然后为了安全起见,
horizon的配置文件里:
'middleware' => ['web','admin',],
这样的话,只有登录后台,才能看到面板。
继续这个配置文件,下面这个queue是在database.php配置的。
'use' => 'queue',
database.php
'redis' => [
'client' => 'phpredis',
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
//'read_timeout' => 60,
],
// 这是用于缓存的。
'cache' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 1,
],
// 这是用于队列的。
'queue' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 2,
],
],
每个redis都有16个库,编号应该是从0到15
一定要分开来,不过就算不分的话,他好像是有前缀的,关系也不大,分最好。分的参数是那个database
继续:
下面那个supervisor,并不代表必须要使用supervisord。只要执行
php artisan horizon这个命令,都会生效。
processes这个参数,生成多少个进程。
queue这个参数重要,确定这个配置监听哪些队列。
'environments' => [
'production' => [
'supervisor-1' => [
'connection' => 'redis',
'queue' => ['q1','qiye_weixin','email','log1','log2'],
'balance' => 'false',
'processes' => 3,
'tries' => 3,
],
'supervisor-2' => [
'connection' => 'redis',
'queue' => ['default',],
'balance' => 'false',
'processes' => 1,
'tries' => 3,
],
],
'local' => [
'supervisor-1' => [
'connection' => 'redis',
'queue' => ['default','q1','qiye_weixin','email','log1','log2'],
'balance' => 'simple',
'processes' => 3,
'tries' => 3,
],
],
],
配置补充:
3个配置文件
database.php
queue.php
horizon.php
,其中,键名自己定义,下面只是实例,也可以不添加,只修改也行的。
示例如下:
其中,database.php里设置了多个redis连接。自己添加一个队列专用的。
'db_queue_redis' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_DB', 0),
],
,把queued.php 的 添加
'queue_redis' => [
'driver' => 'redis',
'connection' => 'db_queue_redis',
'queue' => 'default',
'retry_after' => 90,
'block_for' => null,
],
3,给 queue.php 的设置 default 键
'default' => 'queue_redis',
4、horizon.php
'environments' => [
'production' => [
'supervisor-1' => [
'connection' => 'queue_redis',
'queue' => ['default'],
'balance' => 'simple',
'processes' => 10,
'tries' => 1,
],
],
'local' => [
'supervisor-1' => [
'connection' => 'queue_redis',
'queue' => ['default'],
'balance' => 'simple',
'processes' => 3,
'tries' => 1,
],
],
],
5、关于 horizon.php 的 use指令,可以用默认 的default 连接。也可以自己修改。随意。
使用要点:
当使用horizon之后,就不需要再使用
php artisan queue:work 这个命令了。
而是改由
php artisan horizon 这个命令来消费队列。
当然,在生产环境中,肯定也不是直接使用这个命令,而是使用supervisord,反正也超简单的。
/etc/supervisord.d/horizon.ini:
[program:horizon] process_name=%(program_name)s command=php /应用目录/artisan horizon autostart=true autorestart=true user=nginx //需根据实际情况修改 redirect_stderr=true stdout_logfile=/应用目录/storage/logs/horizon.log 根据实际改
妈妈再也不用担心我没有好用的php队列了!
发表评论
-
召唤神龙 - 安装 centos 8, php 8, mysql 8, laravel 8 的整套 php 运行环境
2020-11-27 16:26 547本文编写时间:2020-11-27 传说集齐龙珠可以召唤神 ... -
centos8 使用阿里镜像快速安装php7.4套件
2020-11-15 00:48 659centos8 使用阿里镜像快速安装php7.4套件 本文只 ... -
centos7 使用阿里镜像快速安装php7.4套件
2020-11-15 00:32 992本文只考虑centos7 今日 2020-11-16 rem ... -
composer常用命令
2020-11-05 14:46 976列出当前全局配置 composer config -l -g ... -
期待centos8+php8 + mysql8 + laravel8,8888
2020-10-29 19:24 375期待centos8+php8 + mysql8 目前主要使用 ... -
ubuntu 安装 php7.4以及各类插件
2020-10-24 13:20 887ubuntu 安装 php7.4以及各类插件 安装系统 最近 ... -
宝塔定义站点
2020-02-24 10:41 2宝塔定义站点。 1111111111111111111111 ... -
让php-fpm以root账号运行
2020-02-19 21:41 686一般来说,我们没有这种需求,但是当需要时, 可以让php-fp ... -
将代码部署到coding.net
2020-01-10 14:20 536coding.net 是一个git仓库,有免费有收费。 首先 ... -
php部署工具deployer技巧 - vendor目录创建
2020-01-06 12:06 801deployer是个好东西,可是每次都composer ,其实 ... -
自定义redis多个实例
2020-01-04 01:17 574假如多个项目部署到同一台服务器,有时会被redis的各项目前缀 ... -
推荐使用php的部署工具 deployer
2020-01-03 16:48 803php部署代码可以使用 https://deployer.or ... -
使用composer 类库 cachetool 清除opcache 的缓存
2020-01-03 16:38 868php的生产服务器上,需要把opche打开。 但有时,会被缓 ... -
laravel容器学习体会
2019-12-31 15:11 565根据文档与实测结果 假设我在app下建一个Services目 ... -
phalcon 自定义超强日志类
2019-12-18 10:00 756phalcon自带的日志文件类,有两个麻烦之处。 1、路径不能 ... -
自定义后台的使用
2019-12-18 05:22 359如果自己写后台,保存用户的表单请求值 所有的情况如下: 1 ... -
phalcon 自定义事件使用的多种方式
2019-12-16 20:43 709方法1:官方文档的方式。 这是控制器: public ... -
phalcon对控制器返回值的使用以输出json
2019-12-16 19:17 725在phalcon里,控制器的Action的方法的返回值没啥用。 ... -
phalcon数据库DB使用实例
2019-12-12 17:12 583整理了一下phalcon的db使用,写了个demo。 ... -
php-redis5.0降级成php-redis4.3
2019-08-22 00:01 831最新版本的php的redis插件,版本是5.0 但是可能会有 ...
相关推荐
Laravel开发-horizon Laravel队列的仪表板和代码驱动配置。
Horizon为基于Laravel的Redis队列提供一个漂亮的仪表板和代码驱动配置。 Horizon允许您轻松监控队列系统的关键指标,例如作业吞吐量,运行时间和作业失败。
Laravel 5.5 是一个 LTS 版本,会提供为期 2 年的 bug 修复和为期 3 年的安全修复支持。...此外,Laravel 5.5 还恰巧碰上 Laravel Horizon 的发布,这是一个基于 Redis 的 Laravel 队列后台管理与配置系统。
5、VMware Horizon View 5.2 配置手册之五:View Composer 安装配置 6、VMware Horizon View 5.2 配置手册之六:连接服务器安装配置 7、VMware Horizon View 5.2 配置手册之七:View 环境配置 8、VMware Horizon ...
8.4.1 CLI方式启动一个云主机创建虚拟网络基于第7章,neutron中创建的是provider 网络,则本次需要创建一个公有网络。实例使用该网络,并通过L
laravel 地平线重启 重启多台服务器的Horizon supervisors,如php artisan queue:restart 安装 composer require huangdijia/laravel-horizon-restart 用法 php artisan horizon:restart
使用GPU配置Horizon虚拟桌面.pdf
Laravel Horizon Prometheus出口商 该软件包提供了一种将Laravel Horizon Metrics暴露给Prometheus的...composer require lkaemmerling/laravel-horizon-prometheus-exporter 配置 php artisan vendor:publish
vmware-Horizon 7 配置桌面池和应用程序池
《为 Horizon 7 设置 TLS 证书的方案》提供了一些示例来说明如何设置 TLS 证书以供 Horizon 7 服务器使 用。第一个方案演示如何从...第二个方案说明了如何配置 Horizon 7 Server 来将 TLS 连接负载分流到中间服务器。
《Horizon 7 管理指南》介绍了如何配置和管理 VMware Horizon® 7,其中包括如何在 Horizon Administrator 中配置 Horizon 连接服务器、创建管理员、设置用户身份验证、配置策略以及管理 VMware ThinApp® 应用程序...
Laravel的RabbitMQ队列驱动程序支援政策只有最新版本才能获得新功能。 错误修复将使用以下方案提供: 套餐版本Laravel版本错误修复,直到9 6 2021年10月5日10 6、7 2021年10月5日11 8 2021年4月6日安装您可以使用...
vmware+horizon+workspace安装与配置.pdf Horizon+View+5.2++ConnectionServer证书配.pdf Horizon_View52快速部署手册.pdf Horizon_View+5.3+快速部署手册.pdf Horizon_View_5.2_安装和部署.pdf Horizon_6_...
《在 Horizon 7 中配置远程桌面功能》介绍了如何在虚拟桌面上或 RDS 主机上配置随 Horizon Agent 一起 安装的远程桌面功能。您还可以配置策略来控制桌面池和应用程序池、计算机以及用户的行为。
VMware+Horizon+View+5.2配置手册
Horizon Client 3.x/4.x/5.x 和 View Agent 6.2.x/Horizon Agent 7.x 2019 年 12 月 VMware Horizon 7 7.11 《Horizon Client 和 Agent 安全指南》提供了 VMware Horizon® Client™ 和 Horizon Agent(对于 Horizon...
Vmware horizon view client for linux 官方安装配置文档
VMware Horizon View 5.2配置手册之八:View日志数据库配置