Skip to content
This repository has been archived by the owner on Aug 11, 2022. It is now read-only.

Commit

Permalink
attempts to added cache switch, conversion stopped working
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffreycwitt committed Nov 9, 2019
1 parent 697fa3a commit 3006025
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 40 deletions.
11 changes: 10 additions & 1 deletion app.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,20 @@ def process_resource():
if resource_id:
resource_value = resource_id
resource_type = "scta"
trans = lbp_print.RemoteResource(resource_id)
else:
resource_value = resource_url
resource_type = "url"
trans = lbp_print.UrlResource(resource_url)

cache = lbp_print.Cache("./cache")
digest = trans.create_hash()
if cache.contains(digest + ".pdf"):
response = {"Status": "Finished", "url": digest + ".pdf"}
else:
response = handle_job(resource_value, resource_type)
#response = handle_job(trans)

response = handle_job(resource_value, resource_type)

return jsonify(response)

Expand Down
74 changes: 35 additions & 39 deletions processor.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import logging

import urllib

from redis import Redis
from rq import get_current_job, Queue
from rq.job import Job
Expand All @@ -15,50 +17,44 @@
q = Queue(connection=redis_connection)


def check_if_file_exists(url):
if resource_type == "scta":
trans = lbp_print.RemoteResource(id)
elif resource_type == "url":
trans = lbp_print.UrlResource(id)

def handle_job(resource_value: str, resource_type: str) -> dict:

# if file existsfirst route
# request url, get hash
# get xstl, get hash
# get file name
# check if file exists


# fileExists = function()
#
if 1 == 2:
response = {"Status": "Finished", "url": "test"}
return response
def handle_job(resource_value: str, resource_type: str) -> dict:
try:
logger.debug(f"Checking for job with the id {resource_value}")
job = Job.fetch(resource_value, connection=redis_connection)
except NoSuchJobError:
logger.debug(f"No existing job. Starting one up ...")
job = q.enqueue(
convert_resource,
resource_value,
resource_type,
job_id=resource_value,
job_timeout="1h",
result_ttl=30,
)
return {"Status": f"Started processing {resource_value}"}

status = job.meta["progress"]

if job.result:
response = {"Status": "Finished", "url": job.result}
logger.debug(f"Job was finished. Result: " + job.result)
elif job.is_failed:
response = {"Status": "Failed. Resubmit to retry.", "error": status}
logger.warn(f"Job failed." + status)
job.delete()
else:
try:
logger.debug(f"Checking for job with the id {resource_value}")
job = Job.fetch(resource_value, connection=redis_connection)
except NoSuchJobError:
logger.debug(f"No existing job. Starting one up ...")
job = q.enqueue(
convert_resource,
resource_value,
resource_type,
job_id=resource_value,
job_timeout="1h",
result_ttl=30,
)
return {"Status": f"Started processing {resource_value}"}

status = job.meta["progress"]

if job.result:
response = {"Status": "Finished", "url": job.result}
logger.debug(f"Job was finished. Result: " + job.result)
elif job.is_failed:
response = {"Status": "Failed. Resubmit to retry.", "error": status}
logger.warn(f"Job failed." + status)
job.delete()
else:
response = {"Status": status}
logger.debug(f"Job running. Status: " + status)
return response
response = {"Status": status}
logger.debug(f"Job running. Status: " + status)
return response


def update_status(message, job):
Expand Down

0 comments on commit 3006025

Please sign in to comment.