From 42b58a309503d898f7abc614cbf460b78eb43a49 Mon Sep 17 00:00:00 2001 From: Gionathan Diani Date: Sat, 6 Jul 2024 20:08:04 +0200 Subject: [PATCH] README.md aktualisiert --- README.md | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 139351e..c1c0937 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,34 @@ # 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 -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 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 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 cp .env.example .env` ``` -Bsp. für Verbinung zu einer SQLite Datenbank. +Bsp. für Verbinung zu einer SQLite Datenbank: ```yaml DB_CONNECTION=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 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 ``` -5. Gewünschte Region(en) mittels Artisan Konsole hinzufügen: +### 5. Regionen hinzufügen +Gewünschte Region(en) mittels Artisan Console hinzufügen: ```bash 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} ``` -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: ```bash 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. ```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