Find Jobs
Hire Freelancers

Develop Python framework

$100-450 USD

キャンセル
投稿日: 13年以上前

$100-450 USD

完了時にお支払い
Develop a multi-threaded Python application framework that routes data packets (hashes) between it's modules (or extensions). The Worker will be developing a multi-threaded framework in Python that acts as a data router between it's own modules. The framework doesn't need to process the data (its simply text), only route it to the proper extension. ## Deliverables # Overview Develop a multi-threaded Python application framework that routes data packets (hashes) between it's modules (or extensions). # Worker skills required: * Advanced python with python threading * Introductory HTML5 websocket from a server side perspective # Dataflow VERY Simplified version: The python script will need to monitor various log files and send them to a web browser. The python script also needs to accept data from the web browser to send to a log file. # Framework The Worker will be developing a multi-threaded framework in Python that acts as a data router between extensions. The framework doesn't need to process the data (its simply text), only route it to the proper extension. Users can write extensions to provide data sources and/or data destinations. Each extension can either read, write, or read and write data. Each extension needs to run in seperate thread so that individual threads can monitor whatever process (log file, sql server, tcp/udp network conenctions) without blocking other extensions. During startup, the framework will load each extension and register each extension's information which includes a "target" so that data packets destined for that target will be send to the proper extension, or thread. # Deliverables * Core framework script that acts as a traffic router between all the extensions. * One "user" extension that is responsible for handling multiple HTML5 SSL/TLS websocket connections. It just merely needs to register with the framework, and send any data packets to any web browser connected. * One "logmonitor" extension that monitors a text log file (like "tail -f") and sends it to the "user" and "logoutput" extensions. * One "logoutput" extension that write any data it gets to a flat text file. # Other requirements * User only starts/stops one script, which can fork or pre-fork as needed any other extensions. * Graceful shutdown - user needs a method to gracefully shutdown the script when running as a daemon so that extensions can gracefully shutdown, such as kill SIGTERM or SIGSTOP. * All code should be contained within a folder (or broken down into subfolders) for easy install, setup, and configuration. * Python code be "self documenting" using docstring conventions ([login to view URL]) # Out of scope * Installation package - it's not required to generate a software installer. * End user documentation - end user documentation is not required. However, minimal notes on setup / installation are required. Full documentation will be writen by the Employer. # Testing The Worker (developer) will be responsible for testing this application and the 3 requested extensions. The Employer will develop and provide very simple HTML5 application that connects to the python script and outputs whatever is send to the browser. The Worker will need to be able to use Google Crome 4 web browser for testing. # Coding Specifics Specific data structures of the data packet will be provided once a bid has been accepted. The data packet hash will contain about 6 items, all of them in a text format, this includes the target and source extensions. The total data packet size will be less then 1k bytes.
プロジェクト ID: 3775578

プロジェクトについて

リモートプロジェクト
アクティブ 14年前

お金を稼ぎたいですか?

Freelancerで入札する利点

予算と期間を設定してください
仕事で報酬を得る
提案をご説明ください
登録して仕事に入札するのは無料です

クライアントについて

UNITED STATESのフラグ
Rancho Cordova, United States
5.0
4
お支払い方法確認済み
メンバー登録日:10月 5, 2010

クライアント確認

ありがとうございます!無料クレジットを受け取るリンクをメールしました。
メールを送信中に問題が発生しました。もう一度お試しください。
登録ユーザー 投稿された仕事の合計
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
プレビューを読み込み中
位置情報へのアクセスが許可されました。
あなたのログインセッションの有効期限がきれ、ログアウトされました。もう一度ログインしてください。