import multiprocessing from arcrest import AGSTokenSecurityHandler from arcrest.ags.server import Server from arcrest.common.geometry import Envelope ags_admin_url = r"http://localhost:6080/arcgis/admin" ags_security_handler = AGSTokenSecurityHandler(username="username", password="password", org_url=ags_admin_url) ags_rest_services_directory_user_url = r"http://localhost:6080/arcgis" ags_service_obj = Server(ags_rest_services_directory_user_url, ags_security_handler) service_name = "SampleWorldCities" ags_services = ags_service_obj.services ags_mapservice = [ags_service for ags_service in ags_services if service_name in ags_service.url][0] bbox_envelope = Envelope(1590464.1952204683, 7544716.127883499, 1598001.8017391723, 7546481.8772778595, wkid=3857) def handler_export_map_images(): p = multiprocessing.Pool(10) result = p.apply_async(worker_export_map_images,[5]) result.get() p.map(worker_export_map_images, range(1000)) def worker_export_map_images(x): result = ags_mapservice.exportMap(bbox_envelope, size="600,550", dpi=200) return if __name__ == '__main__': handler_export_map_images()