Eliminar archivos y configuraciones obsoletas de Docker y scripts en el proyecto onedrive
This commit is contained in:
10
cron/Dockerfile
Normal file
10
cron/Dockerfile
Normal file
@@ -0,0 +1,10 @@
|
||||
FROM python:3.9-slim
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY requirements.txt .
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
COPY script.py .
|
||||
|
||||
CMD ["python", "script.py"]
|
||||
3
cron/README.md
Normal file
3
cron/README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## Actualizado, puede contener errores
|
||||
|
||||
|
||||
12
cron/docker-compose.yml
Normal file
12
cron/docker-compose.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
services:
|
||||
odcron:
|
||||
build: .
|
||||
container_name: odcron
|
||||
environment:
|
||||
- IP=host:8080 # Cambia esto por la IP y puerto deseado
|
||||
- PASSWORD=pass # Cambia esto por la contraseña deseada
|
||||
- REFRESH_TOKEN=tokenit # Cambia esto por el token deseado
|
||||
restart: unless-stopped
|
||||
hostname: odcron
|
||||
network_mode: bridge
|
||||
2
cron/requirements.txt
Normal file
2
cron/requirements.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
requests
|
||||
schedule
|
||||
46
cron/script.sh
Normal file
46
cron/script.sh
Normal file
@@ -0,0 +1,46 @@
|
||||
import requests
|
||||
import schedule
|
||||
import time
|
||||
import logging
|
||||
import os
|
||||
|
||||
# Configuración del logging
|
||||
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
||||
|
||||
# Leer variables de entorno
|
||||
IP = os.getenv("IP", "127.0.0.0:8080") # IP y puerto por defecto
|
||||
PASSWORD = os.getenv("PASSWORD", "pass") # Password por defecto
|
||||
REFRESH_TOKEN = os.getenv("REFRESH_TOKEN", "tokenit") # Token por defecto
|
||||
|
||||
# Construir la URL correctamente
|
||||
URL = f"http://{IP}/call" # Incluye el protocolo y la ruta
|
||||
HEADERS = {"Content-Type": "application/json"}
|
||||
DATA = {"password": PASSWORD, "refresh_token": REFRESH_TOKEN}
|
||||
|
||||
def perform_curl():
|
||||
try:
|
||||
# Realiza la solicitud POST
|
||||
response = requests.post(URL, headers=HEADERS, json=DATA)
|
||||
response.raise_for_status() # Lanza una excepción si la respuesta no es exitosa
|
||||
logging.info(f"Success: {response.status_code} - {response.text[:100]}...") # Muestra solo los primeros 100 caracteres
|
||||
except requests.exceptions.RequestException as e:
|
||||
logging.error(f"Error: {e}")
|
||||
|
||||
def initial_test():
|
||||
logging.info("Running initial test...")
|
||||
perform_curl()
|
||||
|
||||
def main():
|
||||
# Ejecuta la prueba inicial
|
||||
initial_test()
|
||||
|
||||
# Programa la ejecución cada minuto
|
||||
schedule.every(1).minutes.do(perform_curl)
|
||||
|
||||
# Bucle para mantener el script en ejecución
|
||||
while True:
|
||||
schedule.run_pending()
|
||||
time.sleep(1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user