Skip to content

Instantly share code, notes, and snippets.

@nmurthy
Created December 23, 2019 17:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nmurthy/40aca0da3cbf044689b9a7f6b06b1364 to your computer and use it in GitHub Desktop.
Save nmurthy/40aca0da3cbf044689b9a7f6b06b1364 to your computer and use it in GitHub Desktop.
__author__ = 'SpacedOut Engineering'
__copyright__ = 'Copyright 2019, Spaced Out, Inc'
import os
import requests
from boltons.jsonutils import JSONLIterator
from boltons.iterutils import chunked_iter
from pathlib import Path
# Directory with the jobdiva cached files
CACHED_FILES_DIR = os.getenv('CACHED_FILES_DIR')
# Sorcerer URL
SORCERER_URL = os.getenv("SORCERER_URL")
# Agency ID
AGENCY_ID = os.getenv("AGENCY_ID")
BATCH_SIZE = os.getenv("BATCH_SIZE", 500)
for file in Path(CACHED_FILES_DIR).glob("*.json.txt"):
entity_type = file.name.split(".")[0].upper()
for batch in chunked_iter(JSONLIterator(file.open('r')), BATCH_SIZE):
batch_payloads = [{'entity_type': entity_type,
'entity_source': 'jobdiva',
'entity_id': b['ID'],
'payload': b} for b in batch]
params = {
'post_to_eu': False,
'entity_data': batch_payloads,
}
requests.post(f"{SORCERER_URL}/v1/entity", json=params)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment