コード例 #1
0
ファイル: ydlhandler.py プロジェクト: nbr23/youtube-dl-server
 def resume_pending(self):
     db = JobsDB(readonly=False)
     jobs = db.get_all()
     not_endeds = [
         job for job in jobs
         if job['status'] == "Pending" or job['status'] == 'Running'
     ]
     for pending in not_endeds:
         if int(pending["type"]) == JobType.YDL_UPDATE:
             self.jobshandler.put(
                 (Actions.SET_STATUS, (pending["id"], Job.FAILED)))
         else:
             job = Job(pending["name"], Job.PENDING, "Queue stopped",
                       int(pending["type"]), pending["format"],
                       pending["url"])
             job.id = pending["id"]
             self.jobshandler.put((Actions.RESUME, job))
コード例 #2
0
 def resume_pending(self):
     db = JobsDB(readonly=False)
     jobs = db.get_all(self.app_config["ydl_server"].get(
         "max_log_entries", 100))
     not_endeds = [
         job for job in jobs
         if job["status"] == "Pending" or job["status"] == "Running"
     ]
     for pending in not_endeds:
         if int(pending["type"]) == JobType.YDL_UPDATE:
             self.jobshandler.put(
                 (Actions.SET_STATUS, (pending["id"], Job.FAILED)))
         else:
             job = Job(
                 pending["name"],
                 Job.PENDING,
                 "Queue stopped",
                 int(pending["type"]),
                 pending["format"],
                 pending["url"],
             )
             job.id = pending["id"]
             self.jobshandler.put((Actions.RESUME, job))
コード例 #3
0
def worker(dl_queue):
    db = JobsDB(readonly=False)
    while not done:
        action, job = queue.get()
        if action == Actions.PURGE_LOGS:
            db.purge_jobs()
        elif action == Actions.INSERT:
            db.insert_job(job)
            dl_queue.put(job)
        elif action == Actions.UPDATE:
            db.update_job(job)
        elif action == Actions.RESUME:
            db.update_job(job)
            dl_queue.put(job)
        elif action == Actions.SET_NAME:
            job_id, name = job
            db.set_job_name(job_id, name)
        elif action == Actions.SET_LOG:
            job_id, log = job
            db.set_job_log(job_id, log)
        elif action == Actions.SET_STATUS:
            job_id, status = job
            db.set_job_status(job_id, status)
        queue.task_done()
コード例 #4
0
async def api_logs(request):
    db = JobsDB(readonly=True)
    return JSONResponse(db.get_all())
コード例 #5
0
def api_logs():
    db = JobsDB(readonly=True)
    return json.dumps(db.get_all())
コード例 #6
0
async def api_logs(request):
    db = JobsDB(readonly=True)
    return JSONResponse(
        db.get_all(app_config["ydl_server"].get("max_log_entries", 100)))