def quickbooks_query(query_type, query_params): """ args are query type string and any query_params which should be a dict query types include purchase_order, item, check """ try: qb = QuickBooks(**QB_LOOKUP) qb.begin_session() results = qb.quickbooks_query(query_type, query_params) celery_app.send_task( 'quickbooks.tasks.process_quickbooks_entities', queue='quickbooks', args=[query_type, list(results)], expires=1800 ) finally: del(qb)