<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/rq.git/rq/queue.py, branch python3.8</title>
<subtitle>github.com: nvie/rq.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rq.git/'/>
<entry>
<title>Merge remote-tracking branch 'origin/master' into multi-dependencies</title>
<updated>2020-05-23T12:32:38+00:00</updated>
<author>
<name>Selwin Ong</name>
<email>selwin.ong@gmail.com</email>
</author>
<published>2020-05-23T12:32:38+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rq.git/commit/?id=21bf5890c0410f2d51f5f95eea60adfb092c61d8'/>
<id>21bf5890c0410f2d51f5f95eea60adfb092c61d8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update Job#dependencies_are_met ...</title>
<updated>2020-04-27T18:53:23+00:00</updated>
<author>
<name>thomas</name>
<email>thomas.matecki@gmail.com</email>
</author>
<published>2020-04-27T18:53:23+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rq.git/commit/?id=0b528dae4b763ee8f1f7af9d3a5fd85b301fa6e6'/>
<id>0b528dae4b763ee8f1f7af9d3a5fd85b301fa6e6</id>
<content type='text'>
... such that it fetch all dependency status using SMEMBERS and HGET rather than SORT.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
... such that it fetch all dependency status using SMEMBERS and HGET rather than SORT.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add the queue to the Redis queues set when scheduling a job (#1238)</title>
<updated>2020-04-24T01:06:36+00:00</updated>
<author>
<name>Pierre Mdawar</name>
<email>p.mdawar@gmail.com</email>
</author>
<published>2020-04-24T01:06:36+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rq.git/commit/?id=eb92d688a8fc81ac56fb101606f8f2458460f753'/>
<id>eb92d688a8fc81ac56fb101606f8f2458460f753</id>
<content type='text'>
* Add the queue to the queues set when scheduling a job

* Fix the registry properties docstrings</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add the queue to the queues set when scheduling a job

* Fix the registry properties docstrings</pre>
</div>
</content>
</entry>
<entry>
<title>Revisions</title>
<updated>2020-04-17T03:54:47+00:00</updated>
<author>
<name>Thomas Matecki</name>
<email>thomas@marianatek.com</email>
</author>
<published>2020-04-17T03:13:06+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rq.git/commit/?id=0672cd00c6ab5268f83887e66990726904cbe1f9'/>
<id>0672cd00c6ab5268f83887e66990726904cbe1f9</id>
<content type='text'>
* Rename `dependent_jobs` to `jobs_to_enqueue` in queue.py
* Rename `dependencies_job_ids` to `dependency_ids`.
* Remove `as_text` (no more python2 support). Use `bytes.decode`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Rename `dependent_jobs` to `jobs_to_enqueue` in queue.py
* Rename `dependencies_job_ids` to `dependency_ids`.
* Remove `as_text` (no more python2 support). Use `bytes.decode`
</pre>
</div>
</content>
</entry>
<entry>
<title>Change parameter name from `exclude` ...</title>
<updated>2020-04-17T03:40:27+00:00</updated>
<author>
<name>Thomas Matecki</name>
<email>thomas@marianatek.com</email>
</author>
<published>2020-04-15T02:06:00+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rq.git/commit/?id=c679c1af2f86adf6cf966582d743723fe2152e3d'/>
<id>c679c1af2f86adf6cf966582d743723fe2152e3d</id>
<content type='text'>
...to `exclude_job_id`. Also make it a single id not a set.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
...to `exclude_job_id`. Also make it a single id not a set.
</pre>
</div>
</content>
</entry>
<entry>
<title>Undo formatting for coverage stats</title>
<updated>2020-04-17T03:40:27+00:00</updated>
<author>
<name>thomas</name>
<email>thomas.matecki@gmail.com</email>
</author>
<published>2020-03-14T16:22:46+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rq.git/commit/?id=c0119a8a19c84add14a38bdfec9ed1f86aff1f9e'/>
<id>c0119a8a19c84add14a38bdfec9ed1f86aff1f9e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert move of status update in `Worker#handle_job_success`</title>
<updated>2020-04-17T03:39:44+00:00</updated>
<author>
<name>thomas</name>
<email>thomas.matecki@gmail.com</email>
</author>
<published>2020-03-13T02:31:42+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rq.git/commit/?id=83fa6b23868e9e8dd7776768489f8521ab5fa021'/>
<id>83fa6b23868e9e8dd7776768489f8521ab5fa021</id>
<content type='text'>
When a job with dependents is _successful_ it's dependents are enqueued. Only if the FINISHing job's `result_ttl` is non-zero is the change in status persisted in Redis - that is, when each dependent job is enqueued, the _FINISHing_ job (,triggering the enqueueing,) has an _outdated_ status in redis. This avoids redundant call because if `result_ttl=0` then the job is deleted then deleted in `Job#cleanup`.

In order to enqueue the dependents, we therefore _exclude_ the FINISHing job from the check if each dependents' dependencies have been met.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a job with dependents is _successful_ it's dependents are enqueued. Only if the FINISHing job's `result_ttl` is non-zero is the change in status persisted in Redis - that is, when each dependent job is enqueued, the _FINISHing_ job (,triggering the enqueueing,) has an _outdated_ status in redis. This avoids redundant call because if `result_ttl=0` then the job is deleted then deleted in `Job#cleanup`.

In order to enqueue the dependents, we therefore _exclude_ the FINISHing job from the check if each dependents' dependencies have been met.
</pre>
</div>
</content>
</entry>
<entry>
<title>rename dependencies_finished to dependencies_are_met</title>
<updated>2020-04-17T03:33:17+00:00</updated>
<author>
<name>thomas</name>
<email>thomas.matecki@gmail.com</email>
</author>
<published>2020-02-23T05:00:03+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rq.git/commit/?id=9f15df2d5567d6697e4f7bddb68400f6f9d845c5'/>
<id>9f15df2d5567d6697e4f7bddb68400f6f9d845c5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Change get_dependency_statuses to dependencies_finished</title>
<updated>2020-04-17T03:33:17+00:00</updated>
<author>
<name>Thomas Matecki</name>
<email>thomas@marianatek.com</email>
</author>
<published>2019-12-20T03:46:59+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rq.git/commit/?id=d5921814e4cb23fdb7a090b70e774639af9511e2'/>
<id>d5921814e4cb23fdb7a090b70e774639af9511e2</id>
<content type='text'>
Convert method on Job to return a boolean and rename. Also use
fetch_many in Queue#enqueue_dependents.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Convert method on Job to return a boolean and rename. Also use
fetch_many in Queue#enqueue_dependents.
</pre>
</div>
</content>
</entry>
<entry>
<title>Alway set status 'FINISHED' when job is Successful</title>
<updated>2020-04-17T03:33:17+00:00</updated>
<author>
<name>thomas</name>
<email>thomas.matecki@gmail.com</email>
</author>
<published>2019-12-15T04:06:22+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rq.git/commit/?id=7ea5a32a55c59b05da849b3aa3d9e20a135df45a'/>
<id>7ea5a32a55c59b05da849b3aa3d9e20a135df45a</id>
<content type='text'>
Method Queue#enqueue_dependents checks the status of all dependencies of all dependents, and enqueues those dependents for which all dependencies are FINISHED.

The enqueue_dependents method WAS called from Worker#handle_job_success called BEFORE the status of the successful job was set in Redis, so enqueue_dependents explicitly excluded the _successful_ job from interrogation of dependency statuses as the it would never be true in the existing code path, but it was assumed that this would be final status after the current pipeline was executed.

This commit changes Worker#handle_job_success so that it persists the status of the successful job to Redis, everytime a job completes(not only if it has a ttl) and does so before enqueue_dependents is called. This allows for enqueue_dependents to be less reliant on the out of band state of the current _successful job being handled_.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Method Queue#enqueue_dependents checks the status of all dependencies of all dependents, and enqueues those dependents for which all dependencies are FINISHED.

The enqueue_dependents method WAS called from Worker#handle_job_success called BEFORE the status of the successful job was set in Redis, so enqueue_dependents explicitly excluded the _successful_ job from interrogation of dependency statuses as the it would never be true in the existing code path, but it was assumed that this would be final status after the current pipeline was executed.

This commit changes Worker#handle_job_success so that it persists the status of the successful job to Redis, everytime a job completes(not only if it has a ttl) and does so before enqueue_dependents is called. This allows for enqueue_dependents to be less reliant on the out of band state of the current _successful job being handled_.
</pre>
</div>
</content>
</entry>
</feed>
