def __init__(self, name, host, ruleset_definition): self._actions = {} self._name = name self._host = host for rule_name, rule in ruleset_definition.iteritems(): action = rule['run'] del rule['run'] if (isinstance(action, Promise)): self._actions[rule_name] = action.root elif (hasattr(action, '__call__')): self._actions[rule_name] = Promise(action) else: self._actions[rule_name] = Fork(host.register_rulesets(name, action)) self._handle = rules.create_ruleset(name, json.dumps(ruleset_definition)) self._definition = ruleset_definition
def __init__(self, name, host, ruleset_definition, state_cache_size): self._actions = {} self._name = name self._host = host for rule_name, rule in ruleset_definition.items(): action = rule['run'] del rule['run'] if isinstance(action, str): self._actions[rule_name] = Promise(host.get_action(action)) elif isinstance(action, Promise): self._actions[rule_name] = action.root elif (hasattr(action, '__call__')): self._actions[rule_name] = Promise(action) self._handle = rules.create_ruleset(state_cache_size, name, json.dumps(ruleset_definition, ensure_ascii=False)) self._definition = ruleset_definition
def __init__(self, name, host, ruleset_definition): self._actions = {} self._name = name self._host = host for rule_name, rule in ruleset_definition.iteritems(): action = rule['run'] del rule['run'] if (isinstance(action, Promise)): self._actions[rule_name] = action.root elif (hasattr(action, '__call__')): self._actions[rule_name] = Promise(action) else: self._actions[rule_name] = Fork( host.register_rulesets(name, action)) self._handle = rules.create_ruleset(name, json.dumps(ruleset_definition)) self._definition = ruleset_definition
import rules import json handle = rules.create_ruleset( 'rules', json.dumps({ 'r1': { 'whenSome': { '$and': [{ 'amount': 10000 }, { 'subject': 'approve' }] }, 'run': 'pending' } })) rules.delete_ruleset(handle) print('created rules1') handle = rules.create_ruleset( 'rules', json.dumps({ 'r1': { 'when': { '$and': [{ 'amount': 10000 }, { 'subject': 'approve' }]
import rules import json print('books1 *****') handle = rules.create_ruleset(5, 'books1', json.dumps({ 'ship': { 'all': [ {'order': { '$and': [ {'$lte': {'amount': 1000}}, {'country': 'US'}, {'currency': 'US'}, {'seller': 'bookstore'} ] }}, {'available': { '$and': [ {'item': 'book'}, {'country': 'US'}, {'seller': 'bookstore'}, {'status': 'available'} ] }} ] } })) rules.bind_ruleset(6379, 0, "localhost", None, handle) rules.assert_event(handle, json.dumps({ 'id': 1, 'sid': 'first',
import rules import json handle = rules.create_ruleset('rules', json.dumps({ 'r1': { 'whenSome': {'$and': [{'amount': 10000}, {'subject': 'approve'}]}, 'run': 'pending' } })) rules.delete_ruleset(handle) print('created rules1') handle = rules.create_ruleset('rules', json.dumps({ 'r1': { 'when': {'$and': [{'amount': 10000}, {'subject': 'approve'}]}, 'run': 'pending' } })) rules.delete_ruleset(handle) print('created rules2') handle = rules.create_ruleset('rules', json.dumps({ 'r1': { 'when': {'$or': [{'amount': 10000}, {'subject': 'ok'}]}, 'run': 'pending' } })) rules.delete_ruleset(handle)
handle = rules.create_ruleset( 'books1', json.dumps({ 'ship': { 'whenAll': { 'order': { '$and': [{ '$lte': { 'amount': 1000 } }, { 'country': 'US' }, { 'currency': 'US' }, { 'seller': 'bookstore' }] }, 'available': { '$and': [{ 'item': 'book' }, { 'country': 'US' }, { 'seller': 'bookstore' }, { 'status': 'available' }] } }, 'run': 'ship' } }))
import json print('books1 *****') handle = rules.create_ruleset('books1', json.dumps({ 'ship': { 'whenAll': { 'order': { '$and': [ {'$lte': {'amount': 1000}}, {'country': 'US'}, {'currency': 'US'}, {'seller': 'bookstore'} ] }, 'available': { '$and': [ {'item': 'book'}, {'country': 'US'}, {'seller': 'bookstore'}, {'status': 'available'} ] } }, 'run': 'ship' } })) rules.bind_ruleset(handle, None , 0 , '/tmp/redis.sock') rules.assert_event(handle, json.dumps({