This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

RESTful Scheduling as a Service: Scheduled Tasks for the Cloud

version:0.0.0

Table of Contents

Features

Here are some of the planned features for the first release:

* Easy to deploy
    - one command to acquire libraries (pip!)
    - one command worker registration
    - one command API setup
* Guaranteed task execution - no missed jobs
* Secure by default - sandboxed execution for workers
* Autoscaling - need more workers? Cloud Crony can spin them up for you
* Python 2.7+ and 3.3+ supported
* RESTful - client bindings can be in any language that can speak HTTP/JSON
* Familiar scheduling syntax - welcome back, Cron.

Extensions

The following are a list of potential extensions to the scheduling service:

* Tenanted service - namespace schedules by tenant
* Scheduling profiles
    * Maximum per task runtime
    * Maximum concurrent tasks
    * Preemption allowed
* Task groups - in conjunction with profiles
    * /schedules/{group}/tasks/
    * Allow special configuration for group
* Autoscaling
* Preemptive scheduling
* Prioritized scheduling
    * Assign task priorities
    * Choose next task based on priority + dealine
* Real-time scheduling
    * Fail tasks that take too long
    * Specify task deadline as well as periodicity
        * Task deadline given relative to periodicity
* Improved security
    * Better sandboxing
* Error reporting task specification
    * error_hook: task to handle main process errors
    * similar to progress hook
    * Appends them to GET /schedules/{id} "errors" field
* Client bindings
* Backend configuration options and drivers
    * MongoDB
    * Redis
    * sqlite
    * Some sort of Cloud DB

Development

The core maintainer is Alejandro Cabrera <alejandro.cabrera@rackspace.com>. Feel free to reach out to him with any questions you have.

License

Copyright 2013 Alejandro Cabrera

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Release History

Release History

0.0.0

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting