Created by Ricardo Kirkner on 2013-10-25 and last modified on 2017-06-08
Get this branch:
bzr branch lp:billiard

Branch merges

Related bugs

Related blueprints

Branch information

Ubuntu One hackers

Import details

Import Status: Failed

This branch is an import of the HEAD branch of the Git repository at https://github.com/celery/billiard.git.

The import has been suspended because it failed 5 or more times in succession.

Last successful import was on 2017-07-16.

Import started on 2017-07-20 on pear and finished on 2017-07-20 taking 15 seconds — see the log
Import started on 2017-07-18 on russkaya and finished on 2017-07-18 taking 25 seconds — see the log
Import started on 2017-07-17 on pear and finished on 2017-07-17 taking 20 seconds — see the log
Import started on 2017-07-17 on pear and finished on 2017-07-17 taking 20 seconds — see the log

Recent revisions

456. By SPKorhonen <email address hidden> on 2017-06-08

Fix for crash on windows (#225)

* Fix for crash on windows

As there is no fork support on windows pickle is used to transfer the state. It can't handle nested classes causing crash. FIX: Moved one binary variable to process instance variable and removed nested class from pool

* Added test

455. By Felipe A. Hernandez <email address hidden> on 2017-05-20

fix cpython issue 14881 (#224)

* fix cpython issue 14881


* add test

454. By Oleg Belousov <email address hidden> on 2017-04-18

Fix indentation error (#221)

453. By Jon Dufresne on 2017-04-17

Enable pip cache for Travis CI (#219)


452. By Thierry R <email address hidden> on 2017-04-16

_trywaitkill can now kill a whole process group if the worker process declares itself as a group leader (os.setpgrp() in a decorator for example) (#204)

451. By peritus on 2017-04-16

Fixed #212 -- use a properly initialized logger in pool.py error (#213)


450. By Edward Betts on 2017-04-16

correct typo: decriptor -> descriptor (#211)

449. By Ihor Kalnytskyi on 2017-04-16

Extend 'Process' to be compatible with < Py3.5 (#202)

In order to be compatible with Python versions below < 3.5, we need to
define the following properties on Process instance:

  * _daemonic
  * _tempdir

It's very essential to have them defined since otherwise any attempt to
start 'multiprocessing.Process' from within 'billiard.Process' fails
trying to inherit those values from '_current_process'.

That basically means it's impossible to start 'multiprocessing.Process'
in Celery task and therefore it limits Celery usage. For instance,
Ansible uses 'multiprocessing.Process' under the hood and inability to
run it from Celery task is incredibly inconvenient.

448. By Jon Dufresne on 2017-04-16

Document and test all supported Python versions (#218)

447. By Eitan Levi <email address hidden> on 2016-12-19

Remove superfluous else clause from max_memory_per_child_check (#207)

This fixes issue https://github.com/celery/billiard/issues/205 where the worker will output "worker unable to determine worker memory usage" in the the "happy" case where the worker is below the memory usage limit. The error case (when it's unable to determine memory usage) is already handled above by checking for user_kb <= 0. Removing the else clause will allow the code to drop into the next check (for maxtasks) before returning EX_OK.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.