问题描述 现在有一个业务是抽奖 开启活动A 活动A持续时间是5天 在活动期间内,每个用户 有且只有 一次抽奖机会 根据这些特点,不会有那种瞬时超大流量进来,但总会有 几个用户同时抽到同一个产品的情况,目前主要是针对这种情况,避免并发的问题 为此你搜索到了哪些方案及不适用的原因 我目前想到的方案有 利用 MySQL 行锁,这个在代码层非常容易实现 利用redis,但具体是怎样一个思路,目前还没有想好 针对这种情...
问题描述 目前已经通过监控进程内存大小来实现内存监控,内存大小设置为32M 但业务中发现有些进程会需要比较大的内存,而有些进程则不需要,这就会导致有些进程会频繁重启 为此你搜索到了哪些方案及不适用的原因 调整配置大小,调整为128M 能否恢复到通过max_request来监控内存 max_request 和 内存 两种方案,各有什么优缺点呢? ...
1. 目前,生产环境,开启了内存监控 参考文档 webman自带的monitor进程会监控所有进程内存使用情况,如果进程使用内存即将达到php.ini里memory_limit设定的值时,会自动安全重启对应的进程,达到释放内存的作用,期间对业务没有影响。 2. 大多数情况下,webman和其他php-fpm项目都是共存在同一台服务器上的 如果调整php.ini配置,势必会影响同一个服务器上其他php-fpm项目 3....
问题描述 在一个PHP-FPM项目中,需要使用一个定时器,每10秒执行一些任务 写了一个PHP脚本,在终端执行,关闭终端后,就不再执行了 workerman的timer似乎只能在workerman环境中使用 为此你搜索到了哪些方案及不适用的原因 目前我的做法是 使用symfony/process 再配合reactPHP 新建一个process.php,内容如下 try { $process = new \Sym...
webman日志中的stdout.log是什么文件? stdout.log是什么文件? stdout.log作用是什么? stdout.log这个文件,可以定期删除吗? ...
问题描述 webman日志插件中描述: 不能与webman/arms 插件同时使用 目前面临的情况: 使用了阿里云ARMS差距,一个请求中,只能记录一个span,也就是一条SQL,不太满足我们的需求 webman日志插件记录的内容非常详细,我们需要日志插件记录的内容 问题: 看了两个插件的代码,想知道,webman日志插件和webmanarms插件不能同时使用的具体原因是什么? 有什么办法可以做到两个插件同时使...
问题描述 webman文档中,关于内存泄漏描述如下: webman自带的monitor进程会监控所有进程内存使用情况,如果进程使用内存即将达到php.ini里memory_limit设定的值时,会自动安全重启对应的进程,达到释放内存的作用,期间对业务没有影响。 但config/server.php中的配置: 'max_request' => 1000000, 'max_pack...
php = 7.3.33 workerman/webman-framework = v1.4.6 workerman/workerman = v4.1.0 报错信息如下 [2022-09-19 14:50:32] default.ERROR: xxx POST xxx/xxx/xxx/xxx DI\Definition\Exception\InvalidDefinition: Entry "Webman\Http\R...
1. 之前已经上线一个webman做的API服务(webman版本是v1.3.21) 目前一切正常,稳定,高效,非常感谢webman 2. 最近打算做一个消息中心和任务中心,也打算用webman来做 但最近看到论坛中有人提到 webman v1.4 想知道,webmanv1.4 和 之前的版本会有什么较大变化吗?...
PHP version:7.4.26 Workerman version:4.0.33 打印$files $this->parseFile($file); 这个方法报错了 报错信息 { "code": 0, "message": "server error.", "traces": "ErrorException: Undefined index: tmp_name in /Users/project...
PHP 版本 = 7.3.33 执行命令 composer require webman/arms Updating dependencies Your requirements could not be resolved to an installable set of packages. Problem 1 - webman/arms[v1.0.2, ..., v1.0.3] require ope...
1. 只有控制器 和 启动脚本中 载入的文件(比如,process,composer包),才是常驻内存的 我们自己写的业务代码,比如,在某个方法里,直接 new 的,这种都不是常驻内存的吧 因为遵循PHP垃圾回收机制 2. 如果仅仅只比较业务代码,是不是跟fpm中,性能差不多的呢?...
在webman中,开启自定义进程 在onWorkerStart中,使用 while (true)来达到实时消费的目的 阿里云MNS文档 while (true) { try { pcntl_signal(SIGINT, function () { Worker::stopAll(); });...
stdout.log,经常会有这样的报错信息 Fatal error: Uncaught ErrorException: (null)(): supplied resource is not a valid stream resource in Unknown:0 Stack trace: #0 [internal function]: {closure}(2, '(null)(): suppl...', 'Unkn...
1. config/app.php return [ 'debug' => true, 'default_timezone' => 'Asia/Shanghai', ]; 2. process/test.php(每天早上10点 和 11点,这样是可以准时执行的,查看对应的日志,有内容输出) public function onWorkerStart(Worker $worker) { ...
启动自定义进程,在onWorkerStart中,开启一个定时任务 new Crontab('50 7 * * *', function(){ throw new ApiException('something error'); }); 1. 如果像这样抛出了异常,但没有catch,这个时候会发生什么情况? 2. 当前这个进程会自动重启吗?...