README.md aktualisiert
parent
e05a88c578
commit
42b58a3095
31
README.md
31
README.md
|
@ -1,27 +1,34 @@
|
||||||
# Web Scraper e-domizil.ch
|
# Web Scraper e-domizil.ch
|
||||||
Das Repository enthält eine auf [Laravel (Version 10.x)](https://laravel.org) basierender Web Scraper für die Plattform e-domizil.ch.
|
Das Repository enthält einen auf [Laravel (Version 10.x)](https://laravel.org) basierender Web Scraper für die Plattform e-domizil.ch.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
Vorbedingungen für die erfolgreiche Installation sind [Server Requirements](https://laravel.com/docs/10.x/deployment#server-requirements)
|
> :warning: Vorbedingungen für die Installation sind die folgenden
|
||||||
|
- [git](https://git-scm.com/) ist auf dem System installiert.
|
||||||
|
- [composer](https://getcomposer.org/) ist auf dem System verfügbar.
|
||||||
|
- [Server Requirements](https://laravel.com/docs/10.x/deployment#server-requirements) sind erfüllt.
|
||||||
|
|
||||||
1. Das Repository klonen
|
### 1. Repository klonen
|
||||||
|
Das Repository an den gewünschten Installationsort klonen:
|
||||||
```bash
|
```bash
|
||||||
git clone https://gitea.fhgr.ch/dianigionath/ConsultancyProject1_Auslastungsmodellierung.git`
|
git clone https://gitea.fhgr.ch/dianigionath/ConsultancyProject1_Auslastungsmodellierung.git`
|
||||||
```
|
```
|
||||||
2. Die Applikation mittels Composer installieren
|
### 2. Installation via Composer
|
||||||
|
Mittels Composer die Installation der Applikation vornehmen:
|
||||||
```bash
|
```bash
|
||||||
php composer install
|
php composer install
|
||||||
```
|
```
|
||||||
3. Eine Kopie der Datei .env.example nach .env erstellen und den Dateiinhalt bez. Datenbankverbindung anpassen.
|
### 3. Enviroment Konfigurieren
|
||||||
|
Eine Kopie der Datei .env.example nach .env erstellen und den Dateiinhalt bez. Datenbankverbindung anpassen:
|
||||||
```bash
|
```bash
|
||||||
cp .env.example .env`
|
cp .env.example .env`
|
||||||
```
|
```
|
||||||
Bsp. für Verbinung zu einer SQLite Datenbank.
|
Bsp. für Verbinung zu einer SQLite Datenbank:
|
||||||
```yaml
|
```yaml
|
||||||
DB_CONNECTION=sqlite
|
DB_CONNECTION=sqlite
|
||||||
DB_DATABASE=/absolute/path/to/database.sqlite
|
DB_DATABASE=/absolute/path/to/database.sqlite
|
||||||
```
|
```
|
||||||
4. Mittels Artisan Console die Datenbank initialisieren
|
### 4. Datenbank initialisieren
|
||||||
|
Mittels Artisan Console die Datenbank initialisieren:
|
||||||
```bash
|
```bash
|
||||||
php artisan migrate
|
php artisan migrate
|
||||||
```
|
```
|
||||||
|
@ -51,7 +58,8 @@ WARN The SQLite database does not exist: /home/gio/database_test.sqlite.
|
||||||
2024_04_08_115153_create_failed_jobs_table .................................................................... 32ms DONE
|
2024_04_08_115153_create_failed_jobs_table .................................................................... 32ms DONE
|
||||||
|
|
||||||
```
|
```
|
||||||
5. Gewünschte Region(en) mittels Artisan Konsole hinzufügen:
|
### 5. Regionen hinzufügen
|
||||||
|
Gewünschte Region(en) mittels Artisan Console hinzufügen:
|
||||||
```bash
|
```bash
|
||||||
php artisan scraper:add-region
|
php artisan scraper:add-region
|
||||||
```
|
```
|
||||||
|
@ -73,11 +81,14 @@ New Region created {"name":"Davos","updated_at":"2024-07-06T17:24:09.000000Z","c
|
||||||
New Seed added {"uri":"https:\/\/www.e-domizil.ch\/search\/5460aea91d044?_format=json","region_id":1,"updated_at":"2024-07-06T17:24:09.000000Z","created_at":"2024-07-06T17:24:09.000000Z","id":1}
|
New Seed added {"uri":"https:\/\/www.e-domizil.ch\/search\/5460aea91d044?_format=json","region_id":1,"updated_at":"2024-07-06T17:24:09.000000Z","created_at":"2024-07-06T17:24:09.000000Z","id":1}
|
||||||
|
|
||||||
```
|
```
|
||||||
6. Zum Schluss sind Cronjobs einzurichten, welche den Webscraper regelmässig ausführt
|
### 6. Cronjobs
|
||||||
|
Zum Schluss sind Cronjobs einzurichten, welche den Webscraper regelmässig ausführen
|
||||||
|
#### Cronjonb: Jobs
|
||||||
Alle drei Tage um 02:00 die Scraping Jobs erstellen:
|
Alle drei Tage um 02:00 die Scraping Jobs erstellen:
|
||||||
```bash
|
```bash
|
||||||
0 2 */3 * * /usr/local/bin/php ConsultancyProject1_Auslastungsmodellierung/artisan scrape:jobs
|
0 2 */3 * * /usr/local/bin/php ConsultancyProject1_Auslastungsmodellierung/artisan scrape:jobs
|
||||||
```
|
```
|
||||||
|
#### Cronjonb: Queue Worker
|
||||||
Jeden Tag alle drei Stunden zwischen 04:00 bis 23:00 mit einer zufälligen Verzögerung bis zu einer Stunde den Queue Worker für das Abarbeiten von 250 Jobs ausführen.
|
Jeden Tag alle drei Stunden zwischen 04:00 bis 23:00 mit einer zufälligen Verzögerung bis zu einer Stunde den Queue Worker für das Abarbeiten von 250 Jobs ausführen.
|
||||||
```bash
|
```bash
|
||||||
0 4,7,9,11,13,15,17,19,21,23 * * * sleep $((RANDOM \% 60))m ; /absolute/path/to/bin/php /absolute/path/to/artisan queue:work --max-jobs=250 --stop-when-empty --max-time=7200
|
0 4,7,9,11,13,15,17,19,21,23 * * * sleep $((RANDOM \% 60))m ; /absolute/path/to/bin/php /absolute/path/to/artisan queue:work --max-jobs=250 --stop-when-empty --max-time=7200
|
||||||
|
|
Loading…
Reference in New Issue