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
a1d20fa392
Fixed monitor to execute as soon as all components report Done.
...
Merge branch 'new_world_order' of github.com:quantopian/zipline into new_world_order
Conflicts:
zipline/gens/utils.py
2012-08-02 22:56:24 -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
fe8a443051
intersticial for merge with @ssanderson's latest
2012-08-01 11:19:59 -04:00
fawce
e4a21e7c61
resolved conflicts
2012-08-01 11:04:35 -04:00
scottsanderson
211cd0271f
new world order
2012-08-01 11:03:40 -04:00
scottsanderson
4deabcdfda
new world order
2012-08-01 10:42:55 -04:00
fawce
904733afc6
bumping the heartbeat timeout
2012-07-31 22:42:01 -04:00
fawce
08cce15ef9
added name and message to exception message
2012-07-31 16:02:28 -04:00
fawce
5c76ed236f
monitor now sigint's the calling application in the case of exceptions and other triggers for hard shutdown (kill).
2012-07-31 01:17:21 -04:00
fawce
22ba5499c3
added log line to track use of devel
2012-07-30 23:11:44 -04:00
fawce
5c62cce627
changed logic to take a boolean flag for sighup signaling.
2012-07-30 19:58:09 -04:00
fawce
9deaefe6e6
fixes for tests
2012-07-30 13:52:38 -04:00
fawce
752177f20a
fixed header comments.
2012-07-28 00:16:24 -04:00
fawce
f79a2fadfc
cancellation tweaks.
2012-07-27 17:06:45 -04:00
fawce
ee55a1825c
minor fix
2012-07-26 16:27:25 -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
6520046aea
removing the old simulatorref
2012-07-24 17:53:43 -04:00
fawce
d0e987a8e8
tests passing using the process simulator.
2012-07-24 14:00:33 -04:00
fawce
fc1882daaa
enabled logging with a logbook zmq logger from within the algorithm.
2012-07-22 07:33:42 -04:00
fawce
03b17bbfb5
added a condition to break out of the heartbeat on the initial loop, once all components report themselves once.
2012-07-19 20:17:44 -04:00
fawce
fb2b0c3be5
responses to sdiehl code review
2012-07-18 17:20:31 -04:00
fawce
b416f7f418
tweak
2012-07-17 14:09:38 -04:00
fawce
1262dcdef1
logging converted to share socket with performance
2012-07-17 11:04:32 -04:00
fawce
cd998d622c
fixed logging bugs, added a DONE signal for logging.
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
09b6b564bb
longer period for heartbeat.
2012-07-17 11:04:14 -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
4981b600f0
Minor changes to Zipline for signals.
2012-07-12 16:56:39 -04:00
Stephen Diehl
0342ee7f62
Fix typos.
2012-07-10 14:31:01 -04:00
Stephen Diehl
56da9d53f8
Fixed other stray logging statement.
2012-07-10 07:27:24 -04:00
Stephen Diehl
2465282a56
Don't show stray logging statement.
2012-07-10 07:26:48 -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
e5fdc542d5
Update test_optimize with devel flag.
2012-07-06 12:06:58 -04:00
Stephen Diehl
b9e0be6bf0
Blessed commit.
2012-07-05 17:29:16 -04:00
Stephen Diehl
c39267eff4
Reenable nose magic.
2012-07-05 14:39:15 -04:00