__package__ = 'archivebox.queues' import time from django.core.cache import cache from huey import crontab from django_huey import db_task, on_startup, db_periodic_task from huey_monitor.models import TaskModel from huey_monitor.tqdm import ProcessInfo @db_task(queue="singlefile", context=True) def extract(url, out_dir, config, task=None, parent_task_id=None): if task and parent_task_id: TaskModel.objects.set_parent_task(main_task_id=parent_task_id, sub_task_id=task.id) process_info = ProcessInfo(task, desc="extract_singlefile", parent_task_id=parent_task_id, total=1) time.sleep(5) process_info.update(n=1) return {'output': 'singlefile.html', 'status': 'succeeded'} # @on_startup(queue='singlefile') # def start_singlefile_queue(): # print("[+] Starting singlefile worker...") # update_version.call_local() # @db_periodic_task(crontab(minute='*/5'), queue='singlefile') # def update_version(): # print('[*] Updating singlefile version... 5 minute interval') # from django.conf import settings # bin = settings.BINARIES.SinglefileBinary.load() # if bin.version: # cache.set(f"bin:abspath:{bin.name}", bin.abspath) # cache.set(f"bin:version:{bin.name}:{bin.abspath}", bin.version) # print('[√] Updated singlefile version:', bin.version, bin.abspath)