diff --git a/bluesky-zmq.yml b/bluesky-zmq.yml index a15517cb..d3c590f2 100644 --- a/bluesky-zmq.yml +++ b/bluesky-zmq.yml @@ -18,3 +18,9 @@ http_proxy: http://proxy:8888 https_proxy: http://proxy:8888 no_proxy: cs.nsls2.local,127.0.0.1,localhost + +# note: you need the zmq_hosts, zmq_proxy_out and beamline_user +# variables set for all hosts specified +- hosts: bec_zmq + roles: + - role: bec_zmq diff --git a/production b/production index fd73d79e..ffde5a3d 100644 --- a/production +++ b/production @@ -318,7 +318,10 @@ extra_packages="" ### FXI ### [18-ID:vars] +beamline_user=xf18id current_env_tag="2018-2.1" +zmq_host=xf18id-ca1 +zmq_proxy_out=5578 [18-ID-collection] xf18id-ws[1:2].cs.nsls2.local @@ -693,3 +696,6 @@ xf21id1-srv1.cs.nsls2.local xf28id-ca1 xf28id1-ca1 xf18id-ca1 + +[bec_zmq:children] +18-ID diff --git a/roles/bec_zmq/tasks/main.yml b/roles/bec_zmq/tasks/main.yml new file mode 100644 index 00000000..e90f5a71 --- /dev/null +++ b/roles/bec_zmq/tasks/main.yml @@ -0,0 +1,3 @@ +- name: copy bec_zmq + template: src=bec_zmq.j2 dest=/usr/local/bin/bec_zmq owner=root group=root mode=0755 + become: true diff --git a/roles/bec_zmq/templates/bec_zmq.j2 b/roles/bec_zmq/templates/bec_zmq.j2 new file mode 100644 index 00000000..dffca342 --- /dev/null +++ b/roles/bec_zmq/templates/bec_zmq.j2 @@ -0,0 +1,17 @@ +#!/opt/conda_envs/collection-{{ current_env_tag }}/bin/python +import matplotlib.pyplot as plt +plt.ion() + +from bluesky.callbacks.zmq import RemoteDispatcher +from bluesky.callbacks.best_effort import BestEffortCallback +from bluesky.utils import install_qt_kicker + +bec = BestEffortCallback() + +host = "{{ zmq_host }}" +port = "{{ zmq_proxy_out }}" +rd = RemoteDispatcher((host, port)) +rd.subscribe(bec) +install_qt_kicker(loop=rd.loop) + +rd.start()