Commit Graph

1453 Commits

Author SHA1 Message Date
Matthias 5e533b550f Emit a simple "new candle" message to allow UI's to refresh charts 2022-12-05 18:19:19 +01:00
Matthias 95651fcd5a Improve/simplify telegram exception handling
Move exceptionhandling to the decorator.
2022-12-01 06:27:25 +01:00
Matthias 3c322bf7df Improve forceenter validation messages 2022-11-29 18:27:08 +01:00
Matthias 3fc367f536
Merge pull request #7771 from wizrds/feat/refactor-ws
Refactor WebSocket API for performance
2022-11-27 15:49:34 +01:00
Timothy Pogue a26b3a9ca8 change sleep call back to 0.01 2022-11-26 09:40:22 -07:00
Matthias fcf13580f1 Revert "offload initial df computation to thread"
This reverts commit f268187e9b.
2022-11-26 13:33:54 +01:00
Matthias 7b0a76fb70 Improve typehint 2022-11-26 13:33:26 +01:00
Timothy Pogue bd95392eea fix formatted string in warning message :) 2022-11-25 13:10:22 -07:00
Timothy Pogue 4aa4c6f49d change sleep in channel send to 0 2022-11-25 13:08:41 -07:00
Timothy Pogue f268187e9b offload initial df computation to thread 2022-11-25 12:56:33 -07:00
Timothy Pogue afc00bc30a log warning if channel too far behind, add docstrings to message stream 2022-11-25 12:48:57 -07:00
Matthias 1b3e62bcbc Lock execute_entry to prevent timing hickups 2022-11-25 14:50:48 +01:00
Timothy Pogue bcc8063eeb Merge branch 'develop' into feat/refactor-ws 2022-11-24 13:42:57 -07:00
Timothy Pogue fc59b02255 prevent ws endpoint from running without valid token 2022-11-24 13:41:10 -07:00
Timothy Pogue 101dec461e close ws channel if can't accept 2022-11-24 11:35:50 -07:00
Timothy Pogue 48242ca02b update catch block in cancel channel tasks 2022-11-22 12:43:45 -07:00
Matthias 7785c91c5d
Merge pull request #7756 from wizrds/feat/secure-ws-conn
Support SSL in WebSocket connection
2022-11-22 19:18:16 +01:00
Timothy Pogue a5442772fc ensure only broadcasting to subscribed topics 2022-11-22 09:42:09 -07:00
Timothy Pogue d9d7df70bf fix tests, log unknown errors 2022-11-21 12:21:40 -07:00
Timothy Pogue 106ac2ab4d fix tests, change to get call 2022-11-20 16:36:22 -07:00
Timothy Pogue d2870d48ea change typing to async iterator 2022-11-20 16:24:44 -07:00
Timothy Pogue 48a1f2418f update typing, remove unneeded try block, readd sleep 2022-11-20 16:18:24 -07:00
Timothy Pogue 60a167bdef add dynamic send timeout 2022-11-20 14:09:45 -07:00
Timothy Pogue dc79284c54 Merge branch 'develop' into feat/refactor-ws 2022-11-20 10:05:22 -07:00
Matthias 12b471c64b Prevent 2 parallel open orders through forceentry
this leads to forgetting the prior order

closes #7765
2022-11-20 09:28:14 +01:00
Timothy Pogue 3714d7074b smaller throttle in channel send 2022-11-19 13:29:23 -07:00
Timothy Pogue c1a73a5512 move sleep call in send, minor cleanup 2022-11-19 13:21:26 -07:00
Timothy Pogue 98d87b3ba6 Merge branch 'develop' into feat/refactor-ws 2022-11-18 13:41:22 -07:00
Timothy Pogue 0cb6f71c02 better error handling, true async sending, more readable api 2022-11-18 13:32:27 -07:00
Matthias 4de9a46618
Merge pull request #7759 from wizrds/fix/pd-mem-leak
Fix Pandas to_json memory leak
2022-11-18 20:24:16 +01:00
Timothy Pogue b6a8e421f1 remove redundant timestamp conversion in ws serializer 2022-11-18 09:43:39 -07:00
Matthias 12cd83453c Add warning when queue websocket queue becomes too full 2022-11-18 14:03:56 +01:00
Timothy Pogue ba493eb7a7 Merge fix/pd-mem-leak 2022-11-17 16:21:12 -07:00
Matthias 436b314c80 add safe_remaining
fixes #7757
2022-11-17 19:07:47 +00:00
Timothy Pogue 49ecc83061 Merge branch 'develop' into fix/pd-mem-leak 2022-11-17 12:04:49 -07:00
Timothy Pogue ce43fa5f43 small fix to websocketchannel and relay 2022-11-17 12:03:11 -07:00
Timothy Pogue 875e9ab447 change df serialization to avoid mem leak 2022-11-17 11:59:03 -07:00
Matthias 9432bcd065 Fix telegram error on force_enter exception
closes #7727
2022-11-17 19:52:03 +01:00
Matthias 93addbe5c3 Improve typechecking 2022-11-17 10:16:38 +00:00
Timothy Pogue 6a1655c047 support ssl connections in emc 2022-11-15 22:26:54 -07:00
Timothy Pogue 442467e8ae remove old comments and code 2022-11-14 22:26:34 -07:00
Timothy Pogue d713af045f remove main queue completely 2022-11-14 22:21:40 -07:00
Timothy Pogue 659c8c237f initial revision 2022-11-14 20:27:45 -07:00
Matthias a951b49541 Use Generator when sending initial dataframes 2022-11-14 19:43:59 +01:00
Matthias fed3bc6730 Simplify Websocket Init 2022-11-13 10:33:54 +01:00
Matthias 954da4fec9 Add "forcebuy error" exception log
part of #7727
2022-11-12 19:52:10 +01:00
Matthias ff619edebf Improve explanation comment as to why we're waiting ourselfs 2022-11-03 06:50:18 +01:00
Timothy Pogue b749f3edd6 add latency measure from ping in emc and ws_client 2022-11-02 19:30:35 -06:00
Timothy Pogue 000b0c2198 prevent memory leaks from error in _broadcast_queue_data 2022-11-02 18:00:10 -06:00
Timothy Pogue cbede2e27d refactor channel.send to avoid queue.put 2022-11-02 17:57:11 -06:00
Timothy Pogue 2dc55e89e6 better error handling channel send 2022-11-02 15:25:39 -06:00
Timothy Pogue 55bf195bfb remove debugging log calls 2022-11-02 14:21:34 -06:00
Timothy Pogue c2bdaea84a change exception handling in channel send 2022-11-02 14:19:08 -06:00
Timothy Pogue d848c27283 add task done to broadcast queue method 2022-11-02 13:30:42 -06:00
Timothy Pogue e25dea7e0e update channel disconnecting 2022-11-02 13:26:27 -06:00
Timothy Pogue fd5f31368c fix indent in initial df send 2022-10-25 14:08:28 -06:00
Matthias 3fa50077c9 Don't use pydantic to type-verify outgoing messages 2022-10-25 20:00:53 +02:00
Timothy Pogue 32600a113f fix broadcast 2022-10-24 12:21:17 -06:00
Timothy Pogue 94b65a007a fix message typing in channel manager, minor improvements 2022-10-23 11:42:59 -06:00
Timothy Pogue 9cffa3ca2b add comment in channel 2022-10-22 21:03:57 -06:00
Timothy Pogue 3d7a311caa removed sleep calls, better channel sending 2022-10-22 19:02:05 -06:00
Timothy Pogue 2b6d00dde4 initial channel api change 2022-10-22 09:30:18 -06:00
Matthias c3d4fb9f1b Simplify backtest calling interface 2022-10-18 06:39:55 +02:00
Matthias c7fff1213c Rate-limit EMC startup to avoid overwelming the queue 2022-10-17 20:46:15 +02:00
Matthias b166c04cba Bring back asyncio.sleep to avoid overwelming the a consumer queue 2022-10-17 19:29:30 +02:00
Matthias 4a8cb3359b Fix broken tests 2022-10-14 16:07:49 +00:00
Matthias 9d4ba767c4 Update usages of search_all_objects 2022-10-14 14:50:52 +00:00
Matthias e3ca740704
Merge pull request #7558 from wizrds/feat/queue-per-client-ws
Refactor broadcasting in Message Websocket
2022-10-13 09:52:29 +02:00
Timothy Pogue eb8c89fe31 move send delay to relay 2022-10-10 23:32:10 -06:00
Timothy Pogue 5ada5eb540 fix error message, update exception import 2022-10-10 23:30:43 -06:00
Timothy Pogue db8cf6c957 disable ping interval in client 2022-10-09 18:51:52 -06:00
Timothy Pogue 71bbffd10a update ws channel send to add data to queue 2022-10-09 18:49:04 -06:00
Timothy Pogue 2c76dd9e39 change wait timeout to 30 seconds to better support reverse proxies 2022-10-09 15:23:56 -06:00
Timothy Pogue 2f64a08623 set channel queue maxsize to 32 2022-10-09 15:11:58 -06:00
Timothy Pogue 3e8d8fd1b0 refactor broadcasting to a queue per client 2022-10-09 15:04:52 -06:00
Matthias 8e3a4eca41 Remove unused type:ignore 2022-10-09 09:15:11 +02:00
Matthias 9454fb8f7b Fix discord message sending 2022-10-07 20:59:49 +02:00
Matthias df5ae66252 Refactor webhook method 2022-10-07 20:52:52 +02:00
Matthias fb2f2d9a39 Allow webhook message setting directly 2022-10-07 20:44:47 +02:00
froggleston 8fcb80df69 Add support for dp.send_msg() to webhooks 2022-10-07 16:06:30 +01:00
Matthias a5bf34587a Improve fiat-convert behavior in case of coingecko outage 2022-10-07 15:46:31 +02:00
Matthias fab6b2f105 Align datetime import in fiat_convert 2022-10-07 15:23:32 +02:00
Matthias 2c94ed2e59 Decrease message throughput
fixes memory leak by queue raising indefinitely
2022-10-01 21:23:33 +02:00
Matthias 8f8b5cc28e Disable log spam from analyze_df in webhook/discord 2022-10-01 09:35:21 +02:00
Matthias ac229b7a42 Reduce message consumer verbosity 2022-09-29 07:10:00 +02:00
Matthias 4e920e9c53 Reduce verbosity of sending-message 2022-09-29 06:41:16 +02:00
Matthias fb3d408338 Respect max_open_trades when forceentering
closes #7489
2022-09-28 09:32:07 +00:00
Matthias 7c84edbc23 Avoid online call when asking for `/status`. 2022-09-28 07:21:52 +02:00
Matthias 42cecb83f2 Disable base64 loading via API
closes severe RCE vulnerability reported privately.
2022-09-27 20:37:16 +02:00
Timothy Pogue e54ed5b10e fix runtime error: dict changed size during iteration 2022-09-25 15:05:56 -06:00
Matthias 873eb5f2ca Improve EMC config validations 2022-09-24 16:43:58 +02:00
Matthias 50dfde7048 Remove unnecessary typing import 2022-09-24 16:11:15 +02:00
Matthias 53c8e0923f Improve typing in message_consumer 2022-09-24 16:10:42 +02:00
Timothy Pogue 6b5d71049e add sleep 2022-09-23 13:10:45 -06:00
Timothy Pogue 4c7cef570f typo in exception 2022-09-23 12:58:26 -06:00
Timothy Pogue b8e1d29a1b catch connectionclosederror 2022-09-23 12:36:05 -06:00
Matthias 1db8421b9d
Merge pull request #7303 from wizrds/feat/externalsignals
Producer/consumer mode
2022-09-23 06:29:58 +02:00
Matthias e6c5c22ea0 Update websocket/follower docs 2022-09-22 20:31:42 +02:00
Timothy Pogue 6a6ae809f4 fix jwt auth 2022-09-21 18:23:00 -06:00
Timothy Pogue 77ed713232 add catch for invalid message error 2022-09-21 16:04:25 -06:00
Timothy Pogue 128b117af6 support list of tokens in ws_token 2022-09-21 16:02:21 -06:00
Matthias 3b0874eb37 Update exit message handling to gracefully handle kucoins "empty" responses
closes #7444
2022-09-20 20:00:08 +02:00
Matthias 0c01b23cba Capture exceptions in send_msg calls 2022-09-20 18:09:14 +02:00
Matthias 914eccecec Merge branch 'develop' into pr/wizrds/7303 2022-09-20 06:56:15 +02:00
Matthias 3274bb0751 Remove msgpack for now 2022-09-20 06:55:22 +02:00
Matthias 994c1c5ea0 use Config typing in more places 2022-09-18 13:31:52 +02:00
Matthias 667853c504 Use Alias to type config objects 2022-09-18 13:20:55 +02:00
Timothy Pogue 4422ac7f45 constrain port in config, catch value error 2022-09-16 19:22:24 -06:00
Timothy Pogue 7d1645ac20 fix tests and warning message 2022-09-15 17:54:31 -06:00
Timothy Pogue 8e75852ff3 fix constants, update config example, add emc config validation 2022-09-15 11:12:05 -06:00
Timothy Pogue 6126925dbe message size limit in mb, default to 8mb 2022-09-14 16:42:14 -06:00
Timothy Pogue aed19ff6ce fix The future belongs to a different loop error 2022-09-13 19:17:12 -06:00
Timothy Pogue 06350a13cb support specifying message size in emc config 2022-09-13 16:39:53 -06:00
Timothy Pogue d75d5a7dad debug ping error message 2022-09-13 16:06:25 -06:00
Matthias 7a98775f01 Version bump apiVersion 2022-09-13 22:07:59 +02:00
Matthias d2abc9417f Simplify ws imports 2022-09-13 20:51:13 +02:00
Matthias 79c70bd52d use WebSocketState from fastapi
available since 0.82.0
2022-09-13 20:50:12 +02:00
Timothy Pogue 07aa206f71 real fix for reconnecting 2022-09-13 12:36:40 -06:00
Timothy Pogue 6d0dfd4dc8 continue trying connect on ping error 2022-09-13 12:27:41 -06:00
Timothy Pogue bf2e5dee75 add running false on shutdown, fix dp typing 2022-09-12 14:21:39 -06:00
Timothy Pogue 0697041f14 remove copy statement where not needed 2022-09-12 14:09:12 -06:00
Timothy Pogue c19a5fbe06 copy data being transferred, remove debug messages in emc 2022-09-12 13:57:29 -06:00
Matthias b6434040de Remove plain json serializer implementation 2022-09-12 20:24:28 +02:00
Matthias 867d59b930 Improve type specifitivity 2022-09-12 20:00:01 +02:00
Matthias 0052e58917 emc: Fix potential startup timing issue 2022-09-12 19:50:22 +02:00
Timothy Pogue d6205e6cfb test logging lines 2022-09-12 07:36:11 -06:00
Matthias 715a71465d Fix auth bug when no token is set 2022-09-12 07:28:31 +02:00
Timothy Pogue 5483cf21f6 remove default secret_ws_token, set timeout min to 0 2022-09-11 11:42:13 -06:00
Timothy Pogue ed4ba8801f more emc tests 2022-09-10 23:57:17 -06:00
Timothy Pogue 0f8eaf98e7 Merge branch 'develop' into feat/externalsignals 2022-09-10 15:14:10 -06:00
Timothy Pogue 0bc18ea33c call websocket close in channel close 2022-09-10 15:12:18 -06:00
Timothy Pogue 2afd5c202c update message parsing, tests 2022-09-10 14:29:15 -06:00
Timothy Pogue a7baccdb7d update log messages in emc, more tests 2022-09-10 13:44:27 -06:00
Timothy Pogue 866a564958 update emc start/shutdown, initial emc tests 2022-09-10 12:51:29 -06:00
Timothy Pogue d8cdd92140 wrap background cleanup in finally, add tests 2022-09-10 11:47:21 -06:00
Matthias 4250174de9 Fix ws exception when no token is provided 2022-09-10 14:29:58 +02:00
Matthias b344f78d00 Improve logic for token validation 2022-09-10 14:20:49 +02:00
Matthias 939fb7acb3 Fix enum imports 2022-09-09 20:31:30 +02:00
Timothy Pogue 6cbc03a96a support jwt token in place of ws token 2022-09-09 11:38:42 -06:00
Timothy Pogue 09679cc798 fix dependency 2022-09-09 11:27:20 -06:00
Timothy Pogue 426f8f37e9 change var names 2022-09-09 10:45:49 -06:00
Matthias e256ebd727 Add ws_token to auto-generated config 2022-09-09 07:13:05 +02:00
Timothy Pogue 75cf8dbfe4 missed await 2022-09-08 15:11:36 -06:00
Timothy Pogue 2b9c8550b0 moved ws_schemas, first ws tests 2022-09-08 13:58:28 -06:00
Timothy Pogue b9e7af1ce2 fix ws token auth 2022-09-08 11:25:30 -06:00
Timothy Pogue fac6626459 update default timeouts 2022-09-08 10:54:31 -06:00
Timothy Pogue b3b0c918d9 cleanup old code 2022-09-08 10:44:03 -06:00
Timothy Pogue 379b1cbc90 remove unnecessary returns 2022-09-08 10:37:41 -06:00
Timothy Pogue df3c126146 fix mypy error 2022-09-08 10:34:37 -06:00
Timothy Pogue 5934495dda add websocket request/message schemas 2022-09-07 15:08:01 -06:00