tasks.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. __package__ = 'archivebox.queues'
  2. import time
  3. from django.core.cache import cache
  4. from huey import crontab
  5. from django_huey import db_task, on_startup, db_periodic_task
  6. from huey_monitor.models import TaskModel
  7. from huey_monitor.tqdm import ProcessInfo
  8. @db_task(queue="singlefile", context=True)
  9. def extract(url, out_dir, config, task=None, parent_task_id=None):
  10. if task and parent_task_id:
  11. TaskModel.objects.set_parent_task(main_task_id=parent_task_id, sub_task_id=task.id)
  12. process_info = ProcessInfo(task, desc="extract_singlefile", parent_task_id=parent_task_id, total=1)
  13. time.sleep(5)
  14. process_info.update(n=1)
  15. return {'output': 'singlefile.html', 'status': 'succeeded'}
  16. # @on_startup(queue='singlefile')
  17. # def start_singlefile_queue():
  18. # print("[+] Starting singlefile worker...")
  19. # update_version.call_local()
  20. # @db_periodic_task(crontab(minute='*/5'), queue='singlefile')
  21. # def update_version():
  22. # print('[*] Updating singlefile version... 5 minute interval')
  23. # from django.conf import settings
  24. # bin = settings.BINARIES.SinglefileBinary.load()
  25. # if bin.version:
  26. # cache.set(f"bin:abspath:{bin.name}", bin.abspath)
  27. # cache.set(f"bin:version:{bin.name}:{bin.abspath}", bin.version)
  28. # print('[√] Updated singlefile version:', bin.version, bin.abspath)