“Harakiri” is logged by uWSGI when it terminates a Python worker process because of failure to respond to a HTTP request (in your case, GET /alexmacharia/forms/aCezMmXN4rBvKWrpEbmhzi/enter-data
) within 120 seconds. This is the default time limit, but it can be configured in kobo-install. If you want to increase the timeout, re-run ./run.py --setup
and answer yes to “Do you want to tweak uWSGI settings?”. Then, input a larger number when prompted for “Maximum time (in seconds) before killing an unresponsive worker”.
However, it’s very unusual for a form to take longer than two minutes to process. Is this form particularly large or complex, or is your server low on CPU or RAM capacity?
Additionally, is there a reason why you’re using the KoBoCAT enter-data
endpoint, or was that just for testing? We’re planning to remove that endpoint very soon. You can distribute your project’s Enketo URL directly, since each deployed project has a unique and consistent Enketo URL. If you need to programmatically retrieve Enketo URLs, you can get the same URL returned by KoBoCAT’s enter-data
from KPI’s asset detail endpoint, in the deployment_links.offline_url
attribute. In your example, the asset detail endpoint would be https://[your kpi host]/api/v2/assets/aCezMmXN4rBvKWrpEbmhzi/
.