Commit Graph

92 Commits

Author SHA1 Message Date
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