def CreateQueue(azureQueueAccountName, azureQueueKey, azureQueueAnalysisResults): queue_service = QueueService(account_name=azureQueueAccountName, account_key=azureQueueKey) #create queue if doesnt exist if not queue_service.exists(azureQueueAnalysisResults): queue_service.create_queue(azureQueueAnalysisResults) return queue_service
def run(job, **kwargs): resource = kwargs.get("resource") env_id = "{{ env_id }}" env = Environment.objects.get(id=env_id) rh = env.resource_handler.cast() resource_group = "{{ resource_group }}" create_custom_fields_as_needed() storage_account = "{{ storage_account }}" azure_queue_name = "{{ azure_queue_name }}" set_progress("Connecting To Azure Management Service...") azure_client = get_azure_storage_client(rh) res = azure_client.storage_accounts.list_keys(resource_group, storage_account) keys = res.keys set_progress("Connecting To Azure queues...") queue_service = QueueService(account_name="{{ storage_account }}", account_key=keys[0].value) set_progress("Creating a file...") if queue_service.exists(queue_name=azure_queue_name): return ( "FAILURE", "Queue with this name already exists", "The queue can not be created.", ) else: queue_service.create_queue("{{ azure_queue_name }}") resource.name = azure_queue_name resource.azure_storage_account_name = storage_account resource.azure_account_key = keys[0].value resource.azure_account_key_fallback = keys[1].value resource.azure_storage_queue_name = "Azure queues - " + azure_queue_name resource.save() return "Success", "", ""
loggerName = "CharlesTraxRecogQueue" logger = logging.getLogger(loggerName) init_logger() try: azureQueueAccountName = "" azureQueueKey = "" azureQueueAnalysisRecognizedItems = "recognizeditems-processing" azureQueueAnalysisResults = "analysis-results" azureQueueImageResults = "image-processing" queue_service = QueueService(account_name=azureQueueAccountName, account_key=azureQueueKey) while True: #create queue if doesnt exist if not queue_service.exists(azureQueueAnalysisRecognizedItems): queue_service.create_queue(azureQueueAnalysisRecognizedItems) if not queue_service.exists(azureQueueImageResults): queue_service.create_queue(azureQueueImageResults) #get queue count metadata = queue_service.get_queue_metadata( azureQueueAnalysisResults) queue_count = metadata.approximate_message_count if queue_count > 0: read_next_in_queue() else: logger.info("time.sleep(3000)") time.sleep(3000)
return page_list def put_in_queue(page_list): for page in page_list: queue_service.put_message(azureQueueAnalysisResults, "{}".format(page), time_to_live=-1) if __name__ == '__main__': azureQueueAccountName = "traxwebjobs" azureQueueKey = "storage account key" azureQueueAnalysisResults = "analysis-results" queue_service = QueueService(account_name=azureQueueAccountName, account_key=azureQueueKey) #create queue if doesnt exist if not queue_service.exists(azureQueueAnalysisResults): queue_service.create_queue(azureQueueAnalysisResults) try: dateFrom = datetime.datetime.now().timestamp() - 86400 dateTo = datetime.datetime.now().timestamp() page_list = page_parse(dateFrom, dateTo) put_in_queue(page_list) except Exception as e: pass