
jobs.py
About this file
The jobs scheduled using celery crontab are defined in this file.
Functions are defined to update statuses for due requests or overdue requests;
send notifications to agency.
The last piece of this application i.e function update_next_request_number()
is the asynchronous celery task that gets the job of automatically updating
the next request number done.
Code Issues
-
Missing docstring for
update_request_statuses()
-
The
for
loop for overdue requests looks very similar to thefor
loop for the due soon requests.
For the overdue requests:for request in requests_overdue: if request.was_acknowledged: agency_requests_overdue.append(request) else: agency_acknowledgments_overdue.append(request) if request.status != request_status.OVERDUE: create_object( Events( request.id, user_guid=None, type_=REQ_STATUS_CHANGED, previous_value={"status": request.status}, new_value={"status": request_status.OVERDUE}, response_id=None, ) ) update_object( {"status": request_status.OVERDUE}, Requests, request.id)
For the due soon requests:for request in requests_due_soon: if request.was_acknowledged: agency_requests_due_soon.append(request) else: agency_acknowledgments_due_soon.append(request) if request.status != request_status.DUE_SOON: create_object( Events( request.id, user_guid=None, type_=REQ_STATUS_CHANGED, previous_value={"status": request.status}, new_value={"status": request_status.DUE_SOON}, response_id=None, ) ) update_object( {"status": request_status.DUE_SOON}, Requests, request.id)
Code Check Report
app/jobs.py:9:1: F401 'app.sentry' imported but unused
Documentation drawn from source code
update_request_statuses():
_update_request_statuses():
Update statuses for all requests that are now Due Soon or Overdueand send a notification email to agency admins listing the requests.
update_next_request_number():
Celery task to automatically update the next request number of each agency to 1:return: