PluginProbe ʕ •ᴥ•ʔ
10Web Booster – Website speed optimization, Cache & Page Speed optimizer / trunk
10Web Booster – Website speed optimization, Cache & Page Speed optimizer vtrunk
2.33.0 2.30.5 2.30.7 2.30.9 2.31.10 2.31.8 2.32.11 2.32.21 2.32.3 2.32.4 2.32.7 2.6.31 2.6.40 2.6.42 2.6.7 2.7.37 2.7.44 2.7.47 2.8.18 2.8.19 2.8.32 2.8.34 2.8.35 2.9.23 2.9.24 2.9.25 2.9.27 v2.27.4 trunk 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.17 2.0.18 2.0.21 2.0.22 2.0.25 2.0.26 2.0.27 2.0.3 2.0.7 2.0.9 2.10.46 2.10.65 2.10.66 2.10.68 2.11.41 2.11.42 2.11.43 2.12.15 2.12.21 2.12.22 2.12.23 2.12.26 2.13.37 2.13.40 2.13.41 2.13.42 2.13.44 2.13.45 2.13.47 2.14.49 2.14.50 2.15.18 2.17.21 2.17.23 2.18.17 2.19.44 2.19.45 2.19.46 2.19.49 2.2.12 2.2.15 2.2.16 2.2.18 2.2.8 2.20.31 2.20.32 2.20.33 2.21.11 2.21.12 2.21.16 2.21.25 2.22.32 2.23.13 2.23.15 2.23.16 2.23.18 2.24.12 2.24.14 2.24.18 2.25.14 2.26.6 2.28.10 2.28.13 2.28.14 2.28.7 2.29.1 2.29.2 2.29.3 2.3.0 2.3.1 2.3.2 2.3.3 2.30.18
tenweb-speed-optimizer / vendor / 10web-utils / 10web-queue / src / TenWebQueue / Traits / QueueRestart.php
tenweb-speed-optimizer / vendor / 10web-utils / 10web-queue / src / TenWebQueue / Traits Last commit date
QueueRestart.php 3 years ago
QueueRestart.php
110 lines
1 <?php
2 namespace TenWebQueue\Traits;
3
4 trait QueueRestart
5 {
6 /**
7 * @var float $startTime
8 */
9 private $startTime = 0;
10
11 /**
12 * @param $itemsCount
13 * @param $itemsAllowedCount
14 *
15 * @return bool
16 */
17 public function ifRestartNeeded($itemsCount, $itemsAllowedCount = 20)
18 {
19 $maxExecTime = ini_get('max_execution_time');
20 $scriptExecTime = microtime(true) - $this->getStartTime();
21
22 if ($scriptExecTime >= (int)$maxExecTime - 10 || $itemsCount >= $itemsAllowedCount) {
23
24 return true;
25 }
26
27 return false;
28 }
29
30 public function restart($route, $body)
31 {
32 /*$ch = curl_init();
33
34 curl_setopt($ch, CURLOPT_URL, $route);
35 curl_setopt($ch, CURLOPT_POST, true);
36 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
37 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
38 curl_setopt($ch, CURLOPT_TIMEOUT, 0.1);
39 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0.1);
40 curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('restart' => 1)));
41 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
42 curl_exec($ch);
43
44 curl_close($ch);*/
45 //todo change this to curl
46 try {
47 $route = $route . '&c=' . rand(1, 5000);
48 wp_remote_post($route, array('method' => 'POST', 'sslverify' => false, 'timeout' => 0.1, 'body' => $body));
49
50 } catch (\Exception $e) {
51
52 }
53
54 die('{"tenweb_queue_restart": "1"}');
55 }
56
57 /**
58 * @param $object
59 * @param $path
60 *
61 * @return void
62 */
63 public static function writeObjectInfile($object, $path)
64 {
65 $content = serialize($object);
66 file_put_contents($path, $content);
67 }
68
69 /**
70 * @param $path
71 *
72 * @return mixed|null
73 */
74 public static function readObjectFromFile($path)
75 {
76 if (is_file($path)) {
77 return unserialize(file_get_contents($path));
78 }
79
80 return null;
81 }
82
83 /**
84 * @param $path
85 *
86 */
87 public static function deleteObjectFile($path)
88 {
89 if (is_file($path)) {
90 unlink($path);
91 }
92 }
93
94 /**
95 * @return float
96 */
97 public function getStartTime()
98 {
99 return $this->startTime;
100 }
101
102 /**
103 * @param float $startTime
104 */
105 public function setStartTime($startTime)
106 {
107 $this->startTime = $startTime;
108 }
109 }
110