Package uploading

Uploading packages is handled by a set of worker processes called "Rainbows processes." When a package is uploaded, the packagecloud backend extracts information about the package and stores it in the database. Different package types require different sets of information to be extract and stored. In particular, RPM and Debian packages will have a substantial amount of information that needs to be extracted and stored.

The number of Rainbows processes determines how many concurrent uploads packagecloud can handle. In order to adjust the number of rainbows processes you can modify your /etc/packagecloud/packagecloud.rb file and set the option rainbows['worker_processes'] to the number of concurrent uploads you want to support.

Keep in mind that you have a hard limit of simultaneous uploads based on the number of CPUs you have on your system. If all of your CPUs are handling uploads, you will not be able to handle clients connecting and attempting to access the repositories. We suggest you choose the number of worker processes carefully to allow for other processes (like serving client connections) to have available CPU time to keep your system responsive.