List of usage examples for com.amazonaws.services.sqs.model GetQueueUrlResult getQueueUrl
public String getQueueUrl()
The URL of the queue.
From source file:cloudworker.Animoto.java
License:Apache License
@SuppressWarnings("unchecked") public void run() { //Get queue url GetQueueUrlResult urlResult = sqs.getQueueUrl(responseQName); String QueueUrl = urlResult.getQueueUrl(); JSONObject result = new JSONObject(); Runtime runtime = Runtime.getRuntime(); try {//from ww w .j av a2 s . c om String[] urls = task.split(" "); for (String url : urls) { //System.out.println(url); Process p = runtime.exec("wget " + url); p.waitFor(); } Process rename = runtime.exec("./rename.sh"); rename.waitFor(); runtime.exec("ffmpeg -f image2 -i img%03d.jpg movie.mpg"); File movie = new File("movie.mpg"); S3Service s3 = new S3Service(); URL url = s3.put(movie.getName(), movie); //result.put("task_id", task_id); result.put("URL", url.toString()); sqs.sendMessage(new SendMessageRequest(QueueUrl, result.toString())); //System.out.println(Thread.currentThread().getName()+" sleep done!"); } catch (Exception e) { //result.put("task_id", task_id); result.put("URL", "Failed!"); sqs.sendMessage(new SendMessageRequest(QueueUrl, result.toString())); } }
From source file:cloudworker.RemoteWorker.java
License:Apache License
public static void main(String[] args) throws Exception { //Command interpreter CommandLineInterface cmd = new CommandLineInterface(args); final int poolSize = Integer.parseInt(cmd.getOptionValue("s")); long idle_time = Long.parseLong(cmd.getOptionValue("i")); //idle time = 60 sec init();//from w ww . ja v a2 s . co m System.out.println("Initialized one remote worker.\n"); //Create thread pool ExecutorService threadPool = Executors.newFixedThreadPool(poolSize); BlockingExecutor blockingPool = new BlockingExecutor(threadPool, poolSize); //Get queue url GetQueueUrlResult urlResult = sqs.getQueueUrl("JobQueue"); String jobQueueUrl = urlResult.getQueueUrl(); // Receive messages //System.out.println("Receiving messages from JobQueue.\n"); //...Check idle state boolean terminate = false; boolean startClock = true; long start_time = 0, end_time; JSONParser parser = new JSONParser(); Runtime runtime = Runtime.getRuntime(); String task_id = null; boolean runAnimoto = false; while (!terminate || idle_time == 0) { while (getQueueSize(sqs, jobQueueUrl) > 0) { //Batch retrieving messages ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest().withQueueUrl(jobQueueUrl) .withMaxNumberOfMessages(10); List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages(); for (Message message : messages) { //System.out.println(" Message"); // System.out.println(" MessageId: " + message.getMessageId()); // System.out.println(" ReceiptHandle: " + message.getReceiptHandle()); // System.out.println(" MD5OfBody: " + message.getMD5OfBody()); //System.out.println(" Body: " + message.getBody()); //Get task String messageBody = message.getBody(); JSONObject json = (JSONObject) parser.parse(messageBody); task_id = json.get("task_id").toString(); String task = json.get("task").toString(); try { //Check duplicate task dynamoDB.addTask(task_id, task); //Execute task, will be blocked if no more thread is currently available blockingPool.submitTask(new Animoto(task_id, task, sqs)); // Delete the message String messageRecieptHandle = message.getReceiptHandle(); sqs.deleteMessage(new DeleteMessageRequest(jobQueueUrl, messageRecieptHandle)); } catch (ConditionalCheckFailedException ccf) { //DO something... } } startClock = true; } //Start clock to measure idle time if (startClock) { startClock = false; start_time = System.currentTimeMillis(); } else { end_time = System.currentTimeMillis(); long elapsed_time = (end_time - start_time) / 1000; if (elapsed_time > idle_time) { terminate = true; } } } //System.out.println(); threadPool.shutdown(); // Wait until all threads are finished while (!threadPool.isTerminated()) { } //Terminate running instance cleanUpInstance(); }
From source file:cloudworker.WorkerThread.java
License:Apache License
@SuppressWarnings("unchecked") @Override/* w ww.ja v a 2 s.c o m*/ public void run() { //Get queue url GetQueueUrlResult urlResult = sqs.getQueueUrl(responseQName); String QueueUrl = urlResult.getQueueUrl(); JSONObject result = new JSONObject(); try { Thread.sleep(sleepLength); result.put("task_id", task_id); result.put("result", "0"); sqs.sendMessage(new SendMessageRequest(QueueUrl, result.toString())); //System.out.println(Thread.currentThread().getName()+" sleep done!"); } catch (Exception e) { result.put("task_id", task_id); result.put("result", "1"); sqs.sendMessage(new SendMessageRequest(QueueUrl, result.toString())); } }
From source file:com.athena.sqs.MessageContext.java
License:Apache License
/** * Gets real queue url from SQS/*from w ww . j a va2 s. c o m*/ * @param queueName name of the queue * @return real queue name * @throws MessageException */ public String getQueue(String queueName) throws MessageException { String queueUrl = null; try { queueUrl = queueNameMap.get(queueName); if (queueUrl != null) return queueUrl; // If queue name is not exist, lookup queue. GetQueueUrlRequest queue = new GetQueueUrlRequest(queueName); GetQueueUrlResult queueResult = sqsClient.getQueueUrl(queue); queueUrl = queueResult.getQueueUrl(); } catch (AmazonServiceException ase) { throw ase; } catch (AmazonClientException ace) { throw ace; } return queueUrl; }
From source file:com.dateofrock.aws.simplesqs.JobConsumer.java
License:Apache License
public void consume(Class<? extends AbstractJobTicket> clazz) { String queueName = this.reflector.findQueueName(clazz); GetQueueUrlResult result = this.sqs.getQueueUrl(new GetQueueUrlRequest(queueName)); String queueUrl = result.getQueueUrl(); ReceiveMessageResult receivedMessage = this.sqs.receiveMessage( new ReceiveMessageRequest(queueUrl).withMaxNumberOfMessages(this.maxNumberOfMessages)); List<Message> messages = receivedMessage.getMessages(); for (Message message : messages) { String jobId = message.getBody(); String receiptHandle = message.getReceiptHandle(); AbstractJobTicket jobTicket = null; try {/*from www. j a v a2s .com*/ jobTicket = this.sdbMapper.load(clazz, jobId); jobTicket.receiptHandle = receiptHandle; } catch (SimpleDBMapperNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); // FIXME Message?? this.sqs.deleteMessage(new DeleteMessageRequest(queueUrl, receiptHandle)); return; } Status currentStatus = Status.fromJobTicket(jobTicket); switch (currentStatus) { case WAITING: jobTicket.status = Status.IN_PROGRESS.getValue(); jobTicket.updatedAt = new Date(); this.sdbMapper.save(jobTicket); try { // jobTicket.execute(); } catch (Exception e) { // StackTrace? StringWriter writer = new StringWriter(); PrintWriter printWriter = new PrintWriter(writer); e.printStackTrace(printWriter); printWriter.flush(); printWriter.close(); try { writer.close(); } catch (IOException ignore) { } jobTicket.exceptionStackTrace = writer.toString(); jobTicket.status = Status.FAILURE.getValue(); jobTicket.updatedAt = new Date(); this.sdbMapper.save(jobTicket); break; } jobTicket.status = Status.SUCCESS.getValue(); jobTicket.updatedAt = new Date(); this.sdbMapper.save(jobTicket); break; case IN_PROGRESS: jobTicket.processIfInProgress(); break; case SUCCESS: break; case FAILURE: break; default: break; } } }
From source file:com.dateofrock.aws.simplesqs.JobProducer.java
License:Apache License
public void put(AbstractJobTicket jobTicket) { String queueName = this.reflector.findQueueName(jobTicket.getClass()); try {//from w w w . ja va2s . c om jobTicket.prepare(); } catch (Exception e) { throw new SimpleSQSException(e); } Date now = new Date(); if (jobTicket.createdAt == null) { jobTicket.createdAt = now; } jobTicket.updatedAt = now; jobTicket.status = Status.WAITING.getValue(); this.sdbMapper.save(jobTicket); GetQueueUrlResult result = this.sqs.getQueueUrl(new GetQueueUrlRequest(queueName)); String queueUrl = result.getQueueUrl(); this.sqs.sendMessage(new SendMessageRequest(queueUrl, jobTicket.id)); }
From source file:com.ibm.connectors.AmazonSQS.AmazonSQSInputConnector.java
License:Open Source License
@Override public void poll(long waitInterval) { Properties properties = new Properties(); String access_key_id = getProperty("AccessKeyId"); String secret_access_key = getProperty("SecretAccessKey"); BasicAWSCredentials credentials = new BasicAWSCredentials(access_key_id, secret_access_key); AmazonSQS sqs = new AmazonSQSClient(credentials); // Region selection Region region = Region.getRegion(Regions.fromName(getProperty("region"))); sqs.setRegion(region);//from ww w. jav a 2 s.c om GetQueueUrlResult queueUrl = sqs.getQueueUrl(getProperty("Queue")); ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(queueUrl.getQueueUrl()); List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages(); String outputMessage = ""; // if there are messages then do the processing if (messages.size() > 0) { //append the message properties to the localenv tree for (Message message : messages) { properties.setProperty("MessageId", message.getMessageId()); properties.setProperty("ReceiptHandle", message.getReceiptHandle()); properties.setProperty("MD5OfBody", message.getMD5OfBody()); // get the message body to a string outputMessage = message.getBody(); } properties.setProperty("queueUrl", queueUrl.getQueueUrl()); // delete the message from the queue String messageReceiptHandle = messages.get(0).getReceiptHandle(); sqs.deleteMessage(new DeleteMessageRequest(queueUrl.getQueueUrl(), messageReceiptHandle)); ConnectorCallback callback = getCallback(); callback.processInboundData(outputMessage.getBytes(), properties); } }
From source file:com.ibm.connectors.AmazonSQS.AmazonSQSOutputInteraction.java
License:Open Source License
@Override public Properties send(Properties properties, Object message) throws ConnectorException { String access_key_id = properties.getProperty("AccessKeyId"); String secret_access_key = properties.getProperty("SecretAccessKey"); BasicAWSCredentials credentials = new BasicAWSCredentials(access_key_id, secret_access_key); AmazonSQS sqs = new AmazonSQSClient(credentials); //System.out.println(properties.getProperty("region")); // Region selection Region region = Region.getRegion(Regions.fromName(properties.getProperty("region"))); sqs.setRegion(region);/* ww w . j ava 2 s. c om*/ GetQueueUrlResult queueUrl = sqs.getQueueUrl(properties.getProperty("Queue")); String messageStr = new String((byte[]) message); sqs.sendMessage(new SendMessageRequest(queueUrl.getQueueUrl(), messageStr)); return properties; }
From source file:io.relution.jenkins.awssqs.SQSTriggerQueue.java
License:Apache License
@Override public String getUrl() { if (this.url == null) { final AmazonSQS client = this.getSQSClient(); final GetQueueUrlResult result = client.getQueueUrl(this.name); this.url = result.getQueueUrl(); }//from w ww.j av a 2 s . c o m return this.url; }
From source file:it.polimi.modaclouds.cpimlibrary.msgqueuemng.AmazonMessageQueue.java
License:Apache License
@Override public void add(String msg) throws CloudMessageQueueException { GetQueueUrlRequest getQueueUrlRequest = new GetQueueUrlRequest(queueName); GetQueueUrlResult getQueueUrlResult = sqs.getQueueUrl(getQueueUrlRequest); String queueUrl = getQueueUrlResult.getQueueUrl(); sqs.sendMessage(new SendMessageRequest(queueUrl, msg)); }