Hello,
hot-deployment has just seen a major revamp and apart from cosmetic changes (like a new location to drop services to), in Zato 3.0 it will be possible to hot-deploy:
-
Static files that are made available under attributes such as self.static_config.file.name - think templates in outgoing emails, that kind of information
-
INI-like files with arbitrary key/value configuration that will go to self.static_config.file.name.foo
-
JSON, XML and CSV files will have default pick-up listeners and parsers - dropping a file to a pick-up dir will trigger a user-defined service
-
In fact, any arbitrary data files using any format or name patterns can be now hot-deployed to form input to a channel
-
Naturally, as has been the case since Zato 1.0, services will still support hot-deployment
This all currently uses the following config file and in addition to it there will be a GUI to configure everything from web-admin. But if it is preferrable, config files such as this one will work just fine.
[json]
pickup_from=./pickup/incoming/json
move_processed_to=./pickup/processed/json
patterns=*.json
recipients=zato.pickup.log-json
parse_with=py:rapidjson.loads
[xml]
pickup_from=./pickup/incoming/xml
move_processed_to=./pickup/processed/xml
patterns=*.xml
recipients=zato.pickup.log-xml
parse_with=py:lxml.objectify.fromstring
[csv]
pickup_from=./pickup/incoming/csv
move_processed_to=./pickup/processed/csv
patterns=*.csv
recipients=zato.pickup.log-csv
read_on_pickup=False
parse_on_pickup=False
delete_after_pick_up=False
[user_conf]
pickup_from=./pickup/incoming/user-conf
patterns=*.conf
recipients=zato.pickup.update-user-conf
parse_on_pickup=False
[static]
pickup_from=./pickup/incoming/static
patterns=*
recipients=zato.pickup.update-static
parse_on_pickup=False