Fix coverage filename→name, fix TasksProxy auto-save for multi-worker
This commit is contained in:
22
app.py.final
22
app.py.final
@@ -52,10 +52,13 @@ class TasksProxy:
|
||||
def __setitem__(self, key, value):
|
||||
with _task_lock:
|
||||
tasks = _load_tasks()
|
||||
tasks[key] = value
|
||||
if isinstance(value, dict):
|
||||
tasks[key] = value
|
||||
else:
|
||||
tasks[key] = value
|
||||
_save_tasks(tasks)
|
||||
def __getitem__(self, key):
|
||||
return _load_tasks()[key]
|
||||
return _TaskDict(key)
|
||||
def __contains__(self, key):
|
||||
return key in _load_tasks()
|
||||
def pop(self, key, *args):
|
||||
@@ -65,6 +68,21 @@ class TasksProxy:
|
||||
_save_tasks(tasks)
|
||||
return result
|
||||
|
||||
class _TaskDict(dict):
|
||||
"""Auto-saving dict wrapper for a single task."""
|
||||
def __init__(self, task_id):
|
||||
self._task_id = task_id
|
||||
tasks = _load_tasks()
|
||||
super().__init__(tasks.get(task_id, {}))
|
||||
def __setitem__(self, key, value):
|
||||
super().__setitem__(key, value)
|
||||
with _task_lock:
|
||||
tasks = _load_tasks()
|
||||
if self._task_id not in tasks:
|
||||
tasks[self._task_id] = {}
|
||||
tasks[self._task_id][key] = value
|
||||
_save_tasks(tasks)
|
||||
|
||||
TASKS = TasksProxy()
|
||||
|
||||
# ========== UTILITY FUNCTIONS ==========
|
||||
|
||||
Reference in New Issue
Block a user