Question: I have defined the rq task on module task.py as: import django_rq import logging import requests log = logging.getLogger(__name__) def req_call(): url = 'https://jsonplaceholder.typicode.com/posts' response = requests.get(url) return response @django_rq.job('default') def test_request_call_on_rq_job(): response = req_call() log.warning(f"REQUEST's RESPONSE {response.json()}")  When I've offloaded a task in another module as: if __name__ == '__main__': # rq job test log.setLevel(logging.DEBUG) test_post_request_on_rq_job.delay()  I am getting error as: [INFO] *** Listening on default... [worker:702] [INFO] default: rq_test_module.tasks.test_request_call_on_rq_job() (676c1945-9e05-4245-aeb2-65100cdb4169) [worker:875] [WARNING] Moving job to FailedJobRegistry (Work-horse terminated unexpectedly; waitpid returned 11 (signal 11); ) [worker:1114]  I then started doing debugging, then I saw error encounters as soon as the job task tried executing the request call i.e. requests.get(url) And if I remove the request call from the job, then it executed gracefully without any errors. Signal 11 suggests a segmentation fault, I suspect something related to memory but not quite sure about it. So anyone here encountered similar issue and workaround for this :)

Answer: I think I found the cause of the request being not executed gracefully on rq. I just guess it was due to flow at https://github.com/python/cpython/blob/main/Lib/urllib/request.py#L2619 not being able to pick the proxy setting in the RQ context. So I just skipped the way to reach there by setting NO_PROXY env to the URL I am trying to request. Now I can run the request on RQ, as it should be. But without disabling the proxy it still gives an error, maybe I need to dig more into this. More context on this: This seems to problem with MAC OS only, because of the import issue I highlighted above. OS I am facing this issue: Apple M2 Pro, with OS 13.5 (22G74) I will post more on this once I find concrete ideas for why it is working by setting `NO_PROXY. I think I got it :), Let's set up the this task on task.py module This task imports, underlying MAC os function as I outlined above and you can see exact same call in above link. def test_mac_import_issue_on_request_lib_task(): import sys if sys.platform == 'darwin': from _scproxy import _get_proxy_settings, _get_proxies _get_proxy_settings() _get_proxies()  Then enqueue them from any module, for example if __name__ == '__main__': # rq job test from tasks test_mac_import_issue_on_request_lib_task_on_rq_job test_mac_import_issue_on_request_lib_task_on_rq_job.delay()  Now run worker & execute your module which trigger this enqueue. Now check, whether it pops the error, for e.g [WARNING] Moving job to FailedJobRegistry (work-horse terminated unexpectedly; waitpid returned 11) [worker:874] That call was executed normally when you run independently (not in the RQ context), For e.g in you pyhon shell, if you try running: from _scproxy import _get_proxy_settings, _get_proxies get_proxy_settings() # This outputs dict _get_proxy_settings() # This also outputs dict  So my next goal is to find out what's going on in the RQ context. I will further update this upon finding more meaningful ideas on this.