Skip to content

Where do the submissions go?

jnm edited this page Jul 13, 2020 · 1 revision
  1. Client POSTs to submission endpoint
  2. NGINX receives request and passes it to uWSGI
  3. uWSGI invokes Django machinery, which invokes Django REST Framework, which calls
  4. XFormSubmissionApi.create(), which calls
  5. create_instance_from_xml(), which calls
  6. safe_create_instance(), which calls
  7. create_instance(), which calls
  8. save_submission(), which calls
    1. Instance.save(), which calls, through a Django signal,
      1. update_xform_instance_count()
        • but the defer_counting attribute makes it return without doing anything
    2. ParsedInstance.objects.get_or_create(), which saves the submission in Mongo
    3. update_xform_instance_count(), directly, after having removed defer_counting, which
      • actually increments num_of_submissions
Clone this wiki locally