|
1
|
<?php
|
1
|
<?php
|
|
2
|
namespace Jiaoyin;
|
2
|
namespace Jiaoyin;
|
|
3
|
//格式化输出
|
3
|
//格式化输出
|
|
4
|
-function output(){
|
4
|
+use Swoole\Process;
|
|
|
|
5
|
+
|
|
|
|
6
|
+function output(): void
|
|
|
|
7
|
+{
|
|
5
|
$args = func_get_args();
|
8
|
$args = func_get_args();
|
|
6
|
$outStr = '['.timeFormat('ms').']:';
|
9
|
$outStr = '['.timeFormat('ms').']:';
|
|
7
|
foreach($args as $key => $value){
|
10
|
foreach($args as $key => $value){
|
|
@@ -14,7 +17,8 @@ function output(){ |
|
@@ -14,7 +17,8 @@ function output(){ |
|
14
|
echo $outStr.PHP_EOL;
|
17
|
echo $outStr.PHP_EOL;
|
|
15
|
}
|
18
|
}
|
|
16
|
//格式化时间
|
19
|
//格式化时间
|
|
17
|
-function timeFormat($type='s',$format='Y-m-d H:i:s'){
|
20
|
+function timeFormat($type='s',$format='Y-m-d H:i:s'): string
|
|
|
|
21
|
+{
|
|
18
|
date_default_timezone_set('Asia/Shanghai');
|
22
|
date_default_timezone_set('Asia/Shanghai');
|
|
19
|
$microTime = microtime();
|
23
|
$microTime = microtime();
|
|
20
|
list($msTime,$sTime) = explode(' ',$microTime);
|
24
|
list($msTime,$sTime) = explode(' ',$microTime);
|
|
@@ -26,7 +30,7 @@ function timeFormat($type='s',$format='Y-m-d H:i:s'){ |
|
@@ -26,7 +30,7 @@ function timeFormat($type='s',$format='Y-m-d H:i:s'){ |
|
26
|
}
|
30
|
}
|
|
27
|
|
31
|
|
|
28
|
// 获取当前时间的微秒数
|
32
|
// 获取当前时间的微秒数
|
|
29
|
-function getMicrotime()
|
33
|
+function getMicrotime(): float|int
|
|
30
|
{
|
34
|
{
|
|
31
|
list($uSec, $sec) = explode(' ', microtime());
|
35
|
list($uSec, $sec) = explode(' ', microtime());
|
|
32
|
return $sec*1000+round($uSec*1000);
|
36
|
return $sec*1000+round($uSec*1000);
|
|
@@ -43,7 +47,8 @@ function getPrecision($number): int |
|
@@ -43,7 +47,8 @@ function getPrecision($number): int |
|
43
|
return $count;
|
47
|
return $count;
|
|
44
|
}
|
48
|
}
|
|
45
|
|
49
|
|
|
46
|
-function getIntervalUnit($interval,$type='s'){
|
50
|
+function getIntervalUnit($interval,$type='s'): float|int
|
|
|
|
51
|
+{
|
|
47
|
$unitTime = 0;
|
52
|
$unitTime = 0;
|
|
48
|
if($interval == '1m'){
|
53
|
if($interval == '1m'){
|
|
49
|
$unitTime = 60;
|
54
|
$unitTime = 60;
|
|
@@ -65,3 +70,17 @@ function getIntervalUnit($interval,$type='s'){ |
|
@@ -65,3 +70,17 @@ function getIntervalUnit($interval,$type='s'){ |
|
65
|
}
|
70
|
}
|
|
66
|
return $type == 's' ? $unitTime : $unitTime*1000;
|
71
|
return $type == 's' ? $unitTime : $unitTime*1000;
|
|
67
|
}
|
72
|
}
|
|
|
|
73
|
+
|
|
|
|
74
|
+//以守护进程运行
|
|
|
|
75
|
+function runAsDaemon($callback,$isDaemon=true): void
|
|
|
|
76
|
+{
|
|
|
|
77
|
+ if($isDaemon){
|
|
|
|
78
|
+ Process::daemon();
|
|
|
|
79
|
+ $process = new Process(function ()use ($callback){
|
|
|
|
80
|
+ call_user_func($callback);
|
|
|
|
81
|
+ });
|
|
|
|
82
|
+ $process->start();
|
|
|
|
83
|
+ }else{
|
|
|
|
84
|
+ call_user_func($callback);
|
|
|
|
85
|
+ }
|
|
|
|
86
|
+} |