Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
d2a2a839e4 | |||
fe0cb883e7 | |||
136ce2cb75 | |||
c398d5ec07 | |||
d237909b6d | |||
7dfaac06e4 |
23
.github/dependabot.yml
vendored
Normal file
23
.github/dependabot.yml
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
version: 2
|
||||||
|
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "composer"
|
||||||
|
directory: "/"
|
||||||
|
allow:
|
||||||
|
- dependency-type: "development"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
|
time: "05:00"
|
||||||
|
timezone: "Europe/Vienna"
|
||||||
|
labels:
|
||||||
|
- "composer dependencies"
|
||||||
|
|
||||||
|
- package-ecosystem: "github-actions"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "weekly"
|
||||||
|
day: "monday"
|
||||||
|
time: "05:00"
|
||||||
|
timezone: "Europe/Vienna"
|
||||||
|
labels:
|
||||||
|
- "github actions"
|
13
.github/workflows/tests.yml
vendored
13
.github/workflows/tests.yml
vendored
@ -4,7 +4,7 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
pull_request:
|
pull_request_target:
|
||||||
types: [opened, synchronize, reopened]
|
types: [opened, synchronize, reopened]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@ -15,10 +15,13 @@ jobs:
|
|||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
php-version: ['7.4', '8.0']
|
php-version: ['7.4', '8.0', '8.1']
|
||||||
|
include:
|
||||||
|
- php-version: '8.1'
|
||||||
|
run-sonarqube-analysis: true
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
@ -41,7 +44,7 @@ jobs:
|
|||||||
echo "::set-output name=dir::$(composer config cache-files-dir)"
|
echo "::set-output name=dir::$(composer config cache-files-dir)"
|
||||||
|
|
||||||
- name: Cache Composer dependencies
|
- name: Cache Composer dependencies
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v3
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.composer-cache.outputs.dir }}
|
path: ${{ steps.composer-cache.outputs.dir }}
|
||||||
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
|
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
|
||||||
@ -55,7 +58,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Run SonarQube analysis
|
- name: Run SonarQube analysis
|
||||||
uses: sonarsource/sonarcloud-github-action@master
|
uses: sonarsource/sonarcloud-github-action@master
|
||||||
if: matrix.php-version == '8.0'
|
if: matrix.run-sonarqube-analysis
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }}
|
SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }}
|
||||||
|
@ -20,8 +20,8 @@
|
|||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.4|^8.0",
|
"php": "^7.4|^8.0",
|
||||||
"illuminate/config": "~7.0|~8.0",
|
"illuminate/config": "~7.0|~8.0|~9.0",
|
||||||
"illuminate/support": "~7.0|~8.0",
|
"illuminate/support": "~7.0|~8.0|~9.0",
|
||||||
"php-mqtt/client": "^1.0"
|
"php-mqtt/client": "^1.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
@ -101,6 +101,14 @@ return [
|
|||||||
// The interval (in seconds) in which the client will send a ping to the broker,
|
// The interval (in seconds) in which the client will send a ping to the broker,
|
||||||
// if no other message has been sent.
|
// if no other message has been sent.
|
||||||
'keep_alive_interval' => env('MQTT_KEEP_ALIVE_INTERVAL', 10),
|
'keep_alive_interval' => env('MQTT_KEEP_ALIVE_INTERVAL', 10),
|
||||||
|
|
||||||
|
// Additional settings for the optional auto-reconnect. The delay between reconnect attempts is in seconds.
|
||||||
|
'auto_reconnect' => [
|
||||||
|
'enabled' => env('MQTT_AUTO_RECONNECT_ENABLED', false),
|
||||||
|
'max_reconnect_attempts' => env('MQTT_AUTO_RECONNECT_MAX_RECONNECT_ATTEMPTS', 3),
|
||||||
|
'delay_between_reconnect_attempts' => env('MQTT_AUTO_RECONNECT_DELAY_BETWEEN_RECONNECT_ATTEMPTS', 0),
|
||||||
|
],
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|
||||||
],
|
],
|
||||||
|
@ -60,6 +60,12 @@ class ConnectionManager
|
|||||||
$name = $this->defaultConnection;
|
$name = $this->defaultConnection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Remove the connection if it is in a disconnected state.
|
||||||
|
// Doing this instead of simply reconnecting ensures the caller will get a fresh connection.
|
||||||
|
if (array_key_exists($name, $this->connections) && !$this->connections[$name]->isConnected()) {
|
||||||
|
unset($this->connections[$name]);
|
||||||
|
}
|
||||||
|
|
||||||
if (!array_key_exists($name, $this->connections)) {
|
if (!array_key_exists($name, $this->connections)) {
|
||||||
$this->connections[$name] = $this->createConnection($name);
|
$this->connections[$name] = $this->createConnection($name);
|
||||||
}
|
}
|
||||||
@ -171,6 +177,9 @@ class ConnectionManager
|
|||||||
->setLastWillTopic(Arr::get($config, 'last_will.topic'))
|
->setLastWillTopic(Arr::get($config, 'last_will.topic'))
|
||||||
->setLastWillMessage(Arr::get($config, 'last_will.message'))
|
->setLastWillMessage(Arr::get($config, 'last_will.message'))
|
||||||
->setLastWillQualityOfService((int) Arr::get($config, 'last_will.quality_of_service', MqttClient::QOS_AT_MOST_ONCE))
|
->setLastWillQualityOfService((int) Arr::get($config, 'last_will.quality_of_service', MqttClient::QOS_AT_MOST_ONCE))
|
||||||
->setRetainLastWill((bool) Arr::get($config, 'last_will.retain', false));
|
->setRetainLastWill((bool) Arr::get($config, 'last_will.retain', false))
|
||||||
|
->setReconnectAutomatically((bool) Arr::get($config, 'auto_reconnect.enabled', false))
|
||||||
|
->setMaxReconnectAttempts((int) Arr::get($config, 'auto_reconnect.max_reconnect_attempts', 3))
|
||||||
|
->setDelayBetweenReconnectAttempts((int) Arr::get($config, 'auto_reconnect.delay_between_reconnect_attempts', 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user