Esempio n. 1
0
File: models.py Progetto: tml/norc
 def __init__(self, *args, **kwargs):
     Queue.__init__(self, *args, **kwargs)
     c = SQSConnection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
     self.queue = c.lookup(self.name)
     if not self.queue:
         self.queue = c.create_queue(self.name, 1)
     self.connection = c
Esempio n. 2
0
 def __init__(self, *args, **kwargs):
     Queue.__init__(self, *args, **kwargs)
     c = SQSConnection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
     self.queue = c.lookup(self.name)
     if not self.queue:
         self.queue = c.create_queue(self.name, 1)
     self.connection = c
Esempio n. 3
0
def main():
    usage = "norc_executor <queue_name> -c <n> [-e] [-d]"
    
    def bad_args(message):
        print message
        print usage
        sys.exit(2)
    
    parser = OptionParser(usage)
    parser.add_option("-c", "--concurrent", type='int',
        help="How many instances can be run concurrently.")
    parser.add_option("-e", "--echo", action="store_true", default=False,
        help="Echo log messages to stdout.")
    parser.add_option("-d", "--debug", action="store_true", default=False,
        help="Enable debug messages.")
    
    (options, args) = parser.parse_args()

    if len(args) != 1:
        bad_args("A single queue name is required.")
    
    if options.concurrent == None:
        bad_args("You must give a maximum number of concurrent subprocesses.")
    
    queue = Queue.get(args[0])
    if not queue:
        bad_args("Invalid queue name '%s'." % args[0])
    
    executor = Executor.objects.create(queue=queue, concurrent=options.concurrent)
    executor.log = make_log(executor.log_path,
        echo=options.echo, debug=options.debug)
    executor.start()
Esempio n. 4
0
def main():
    usage = "norc_executor <queue_name> -c <n> [-e] [-d]"

    def bad_args(message):
        print message
        print usage
        sys.exit(2)

    parser = OptionParser(usage)
    parser.add_option("-c",
                      "--concurrent",
                      type='int',
                      help="How many instances can be run concurrently.")
    parser.add_option("-q",
                      "--create_queue",
                      action="store_true",
                      default=False,
                      help="Force creation of a DBQueue with this name.")
    parser.add_option("-e",
                      "--echo",
                      action="store_true",
                      default=False,
                      help="Echo log messages to stdout.")
    parser.add_option("-d",
                      "--debug",
                      action="store_true",
                      default=False,
                      help="Enable debug messages.")

    (options, args) = parser.parse_args()

    if len(args) != 1:
        bad_args("A single queue name is required.")

    if options.concurrent is None:
        bad_args("You must give a maximum number of concurrent subprocesses.")

    queue = Queue.get(args[0])
    if not queue:
        if options.create_queue:
            queue = DBQueue.objects.create(name=args[0])
        else:
            bad_args("Invalid queue name '%s'." % args[0])

    executor = Executor.objects.create(queue=queue,
                                       concurrent=options.concurrent)
    executor.log = make_log(executor.log_path,
                            echo=options.echo,
                            debug=options.debug)
    executor.start()
Esempio n. 5
0
 def push(self, item):
     Queue.validate(item)
     content_type = ContentType.objects.get_for_model(item)
     body = (content_type.pk, item.pk)
     message = self.queue.new_message(pickle.dumps(body))
     self.queue.write(message)
Esempio n. 6
0
 def push(self, item):
     Queue.validate(item)
     content_type = ContentType.objects.get_for_model(item)
     body = (content_type.pk, item.pk)
     message = self.queue.new_message(pickle.dumps(body))
     self.queue.write(message)