blob: f8ca9716f6b5ccb3aa3f85e303c4983ab9b94771 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
from typing import Optional
from jb.decorators import HM
from jb.flow.monitoring import emit_hit_event
from jb.managers.amt import AMTManager
from jb.models.definitions import HitStatus
def check_hit_status(
amtm: AMTManager,
amt_hit_id: str,
amt_hit_type_id: str,
reason: Optional[str] = None,
) -> HitStatus:
"""
(this used to be called "process_hit")
Request information from Amazon regarding the status of a HIT ID. Update
the local state from that response.
"""
hit_status = amtm.get_hit_status(amt_hit_id=amt_hit_id)
# We're assuming that in the db this Hit is marked as Assignable, or
# else we wouldn't have called this function.
if hit_status != HitStatus.Assignable:
# TODO: should update also assignment_pending_count,
# assignment_available_count, assignment_completed_count
HM.update_status(amt_hit_id=amt_hit_id, hit_status=hit_status)
emit_hit_event(
status=hit_status, amt_hit_type_id=amt_hit_type_id, reason=reason
)
return hit_status
|