Esempio n. 1
0
    def from_config(cls, persistence_config):
        store_type = schema.StatePersistenceTypes(persistence_config.store_type)
        name = persistence_config.name
        buffer_size = persistence_config.buffer_size
        store = None

        if store_type == schema.StatePersistenceTypes.shelve:
            store = ShelveStateStore(name)

        if store_type == schema.StatePersistenceTypes.yaml:
            store = YamlStateStore(name)

        if store_type == schema.StatePersistenceTypes.dynamodb:
            table_name = persistence_config.table_name
            dynamodb_region = persistence_config.dynamodb_region
            store = DynamoDBStateStore(table_name, dynamodb_region)

        buffer = StateSaveBuffer(buffer_size)
        return PersistentStateManager(store, buffer)
Esempio n. 2
0
    def from_config(cls, persistence_config):
        store_type = persistence_config.store_type
        name = persistence_config.name
        connection_details = persistence_config.connection_details
        buffer_size = persistence_config.buffer_size
        store = None

        if store_type not in schema.StatePersistenceTypes:
            raise PersistenceStoreError("Unknown store type: %s" % store_type)

        if store_type == schema.StatePersistenceTypes.shelve:
            store = ShelveStateStore(name)

        if store_type == schema.StatePersistenceTypes.sql:
            store = SQLAlchemyStateStore(name, connection_details)

        if store_type == schema.StatePersistenceTypes.yaml:
            store = YamlStateStore(name)

        buffer = StateSaveBuffer(buffer_size)
        return PersistentStateManager(store, buffer)
Esempio n. 3
0
 def setup_store(self):
     self.filename = os.path.join(tempfile.gettempdir(), 'state')
     self.store = ShelveStateStore(self.filename)
Esempio n. 4
0
 def setup_store(self):
     self.tmpdir = tempfile.mkdtemp()
     self.filename = os.path.join(self.tmpdir, 'state')
     self.store = ShelveStateStore(self.filename)