|
1 | 1 | PyRes - a Resque clone |
2 | 2 | ====================== |
| 3 | + |
3 | 4 | [Resque](http://github.com/defunkt/resque) is a great implementation of a job queue by the people at github. It's written in ruby, which is great, but I primarily work in python. So I took on the task of porting over the code to python and PyRes was the result |
4 | 5 |
|
5 | | -Goals |
6 | | ------ |
| 6 | + |
| 7 | +## Project Goals |
| 8 | + |
7 | 9 | Because of some differences between ruby and python, there are a couple of places where I chose speed over correctness. The goal will be to eventually take the application and make it more pythonic without sacrificing the awesome functionality found in resque. At the same time, I hope to stay within the bounds of the original api and web interface. |
8 | 10 |
|
9 | | -TODO |
10 | | ----- |
| 11 | + |
| 12 | +## Running Tests |
| 13 | + |
| 14 | + 1. Install nose: `$ easy_install nose` |
| 15 | + 2. Start redis: `$ redis-server [PATH_TO_YOUR_REDIS_CONFIG]` |
| 16 | + 3. Run nose: `$ nosetests` Or more verbosely: `$ nosetests -v` |
| 17 | + |
| 18 | + $ nosetests -v |
| 19 | + tests.test_str_to_class ... ok |
| 20 | + test_fail (tests.test_jobs.JobTests) ... ok |
| 21 | + test_perform (tests.test_jobs.JobTests) ... ok |
| 22 | + test_reserve (tests.test_jobs.JobTests) ... ok |
| 23 | + test_enqueue (tests.test_resq.ResQTests) ... ok |
| 24 | + test_enqueue_from_string (tests.test_resq.ResQTests) ... ok |
| 25 | + test_info (tests.test_resq.ResQTests) ... ok |
| 26 | + test_keys (tests.test_resq.ResQTests) ... ok |
| 27 | + test_peek (tests.test_resq.ResQTests) ... ok |
| 28 | + test_pop (tests.test_resq.ResQTests) ... ok |
| 29 | + test_push (tests.test_resq.ResQTests) ... ok |
| 30 | + test_redis_property (tests.test_resq.ResQTests) ... ok |
| 31 | + test_remove_queue (tests.test_resq.ResQTests) ... ok |
| 32 | + test_size (tests.test_resq.ResQTests) ... ok |
| 33 | + test_workers (tests.test_resq.ResQTests) ... ok |
| 34 | + test_clear (tests.test_stats.StatTests) ... ok |
| 35 | + test_decr (tests.test_stats.StatTests) ... ok |
| 36 | + test_get (tests.test_stats.StatTests) ... ok |
| 37 | + test_incr (tests.test_stats.StatTests) ... ok |
| 38 | + test_failed (tests.test_worker.WorkerTests) ... ok |
| 39 | + test_get_job (tests.test_worker.WorkerTests) ... ok |
| 40 | + test_job_failure (tests.test_worker.WorkerTests) ... ok |
| 41 | + test_process (tests.test_worker.WorkerTests) ... ok |
| 42 | + test_processed (tests.test_worker.WorkerTests) ... ok |
| 43 | + test_register (tests.test_worker.WorkerTests) ... ok |
| 44 | + test_signals (tests.test_worker.WorkerTests) ... ok |
| 45 | + test_started (tests.test_worker.WorkerTests) ... ok |
| 46 | + test_startup (tests.test_worker.WorkerTests) ... ok |
| 47 | + test_unregister (tests.test_worker.WorkerTests) ... ok |
| 48 | + test_worker_init (tests.test_worker.WorkerTests) ... ok |
| 49 | + test_working (tests.test_worker.WorkerTests) ... ok |
| 50 | + test_working_on (tests.test_worker.WorkerTests) ... ok |
| 51 | + |
| 52 | + ---------------------------------------------------------------------- |
| 53 | + Ran 32 tests in 0.794s |
| 54 | + |
| 55 | + OK |
| 56 | + |
| 57 | + |
| 58 | +## TODO |
| 59 | + |
11 | 60 | Stabalize the api. |
12 | 61 |
|
13 | 62 | Flesh out a python version of the web interface. Currently, there is a resweb module that uses the itty micro framework and the jinja2 templating engine to display basics. I'd like to get this as close to the resque web interface as possible. |
|
0 commit comments