fawce
4a582e8952
modified zmq_gen method to yield None when there is no waiting message. This prevents blocking in the next() method of a component. But it requires generators wrapping the component to handle None.
...
Also modified component's receiver creation to be triggered on the first call to next, rather than iter.
This change means that the zmq context and socket for the component's receiver should always be created in
the same process as the consumer of the generator. Chaining together component wrapped generators will
result in the send process of the last component actually instantiating the receive socket of the prior component.
In this way, the components are actually communicating directly via zmq.
Component's send method now calls the wait_ready(), which waits for the monitor's GO message, inside
the generator loop. This guarantees that the generator's next method is called before the send loop blocks
on the monitor. As a result, components will call __init__ and next() without blocking, mimicking the
behavior of plain generators.
2012-08-04 12:58:07 -04:00
scottsanderson
8437a28c14
generator-style perf now sends a risk report on receipt of DONE
2012-08-03 21:09:05 -04:00
fawce
479ad502f6
addressing race condition between loop_send exit and DONE message delivery.
2012-08-03 01:05:53 -04:00
fawce
f166626ea8
multiple sources, each as component, feeding sort.
2012-08-02 22:51:17 -04:00
fawce
c2b4689668
intersticial to merge with scott
2012-08-02 18:02:43 -04:00
fawce
cfc49d3ccc
using classes instead of pure generators in component
2012-08-02 16:20:15 -04:00
fawce
12c7cd3b41
removed extraneous imports to remove circularity
2012-08-02 15:40:26 -04:00
fawce
d141422ada
component is self-contained!
2012-08-02 14:45:13 -04:00
fawce
dd1056bf30
generator backed component, and a starter test for a source.
2012-08-01 23:41:44 -04:00
fawce
318065125f
refactored component to use a generator
2012-08-01 21:43:15 -04:00
fawce
6de01a1c6e
added support for any component to relay exceptions through monitor.
2012-08-01 14:56:17 -04:00
fawce
22ba5499c3
added log line to track use of devel
2012-07-30 23:11:44 -04:00
fawce
9deaefe6e6
fixes for tests
2012-07-30 13:52:38 -04:00
fawce
abf9c8efa5
exception handling code revised. gevent, pypy, and threadsim vestiges removed.
...
devel flag removed.
2012-07-26 16:22:13 -04:00
fawce
52b597f089
intersticial commit for scott to pick
2012-07-25 12:28:21 -04:00
fawce
c02d15016a
added timeouts for component when waiting to hear from the monitor. proof of concept exception relay for algorithm's initialize method.
2012-07-24 23:43:40 -04:00
fawce
d0e987a8e8
tests passing using the process simulator.
2012-07-24 14:00:33 -04:00
fawce
fb2b0c3be5
responses to sdiehl code review
2012-07-18 17:20:31 -04:00
fawce
1262dcdef1
logging converted to share socket with performance
2012-07-17 11:04:32 -04:00
fawce
ceb9013363
heartbeats working, however the zipline is now fully sequential.
2012-07-17 11:04:32 -04:00
fawce
18cd9a02df
added more frequent heartbeating between requests from monitor. seems to work.
2012-07-17 11:04:32 -04:00
fawce
165d94f784
tweaks
2012-07-17 11:04:31 -04:00
fawce
d21abe06ea
updated heartbeat tracking to treat missing several heartbeats as a full failure.
2012-07-17 11:02:35 -04:00
fawce
1cc56b52e7
re-enabled the monitor communication in all components.
2012-07-17 11:01:15 -04:00
Stephen Diehl
0342ee7f62
Fix typos.
2012-07-10 14:31:01 -04:00
Stephen Diehl
237ea825ac
Merge branch 'threaded_monitor' into scott1
...
Conflicts:
zipline/core/monitor.py
zipline/lines.py
2012-07-06 14:11:40 -04:00
Stephen Diehl
44cdf60feb
Minor fix, lots of win.
2012-07-05 13:47:43 -04:00
scottsanderson
14018b9ab7
grammar police on comment
2012-07-04 03:47:41 -04:00
Stephen Diehl
4a3d9b1d83
devel flag on noop monitored system.
2012-07-03 15:40:30 -04:00
fawce
d3a28311a5
Merge branch 'threaded_monitor' of github.com:quantopian/zipline into threaded_monitor
2012-07-03 12:14:17 -04:00
Stephen Diehl
04b5923d8a
Backport removal of sync_ack
2012-07-03 11:55:31 -04:00
fawce
80157153e3
Merge branch 'threaded_monitor' of github.com:quantopian/zipline into threaded_monitor
2012-07-03 11:38:21 -04:00
fawce
31e0e8208c
switching to use push/pull for traffic btw merge and client
2012-07-03 11:37:58 -04:00
Stephen Diehl
6ad6b4dbc7
Reformat logging statements in base component.
2012-07-03 11:19:58 -04:00
Stephen Diehl
b19d2d856f
Selectively backport portions of new component.py
2012-07-03 11:05:01 -04:00
Stephen Diehl
06e6207020
Update logging system
2012-06-12 07:11:52 -04:00
Stephen Diehl
aac8e92b06
Logbook for component state tracking.
2012-06-11 13:40:54 -04:00
Stephen Diehl
270e067426
FSM actions for Feed and Merge.
2012-06-11 13:10:05 -04:00
Stephen Diehl
fefca77fe2
FSM for Feed
2012-06-11 09:26:48 -04:00
Stephen Diehl
077fb168ce
Added interp to core.
2012-05-27 21:21:54 -04:00
Stephen Diehl
3446c116ab
Process Simulator!
2012-05-26 15:54:43 -04:00
Stephen Diehl
b1f8bbd189
Removed redundent flow class.
2012-05-16 17:19:14 -04:00
Stephen Diehl
3ad1f250e6
Cleaned up OOP, first round.
2012-05-16 14:33:16 -04:00
Thomas Wiecki
e26638058c
Reverted path independence code in factory.py. Not sure how to fix with new path structure.
2012-05-15 17:37:27 -04:00
Stephen Diehl
8b95aebcf2
Refactor lots of things.
2012-05-14 10:57:40 -04:00
Stephen Diehl
ca60d3f8e0
Refactor component tree.
2012-05-14 09:14:26 -04:00
Stephen Diehl
f60794067e
reworked directory
2012-05-09 09:12:11 -04:00