Skip to content

Commit 56be8a8

Browse files
committed
Rename dependency method done() to on_done()
on_done() is maybe a better choice, it is less ambiguous than then() (clearer on the fact it happens on done()) and done() (less confusion with set_done()). I'll do the renaming soon, unless you have other suggestions. Ref: #154 (comment)
1 parent 8f54a34 commit 56be8a8

7 files changed

Lines changed: 30 additions & 30 deletions

File tree

queue_job/controllers/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ def _create_graph_test_jobs(
301301
root_delayable = delayable
302302
else:
303303
tail_delayable = random.choice(tails)
304-
tail_delayable.done(delayable)
304+
tail_delayable.on_done(delayable)
305305
tails.append(delayable)
306306

307307
root_delayable.delay()

queue_job/delay.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def group(*delayables):
2626
2727
g1 = group(delayable1, delayable2)
2828
g2 = group(delayable3, delayable4)
29-
g1.done(g2)
29+
g1.on_done(g2)
3030
g1.delay()
3131
"""
3232
return DelayableGroup(*delayables)
@@ -45,7 +45,7 @@ def chain(*delayables):
4545
4646
chain1 = chain(delayable1, delayable2, delayable3)
4747
chain2 = chain(delayable4, delayable5, delayable6)
48-
chain1.done(chain2)
48+
chain1.on_done(chain2)
4949
chain1.delay()
5050
"""
5151
return DelayableChain(*delayables)
@@ -346,7 +346,7 @@ def __repr__(self):
346346
inner_graph = "\n\t".join(repr(self._graph).split("\n"))
347347
return "DelayableChain(\n\t{}\n)".format(inner_graph)
348348

349-
def done(self, *delayables):
349+
def on_done(self, *delayables):
350350
"""Connects the current chain to other delayables/chains/groups
351351
352352
The delayables/chains/groups passed in the parameters will be executed
@@ -398,7 +398,7 @@ def __repr__(self):
398398
inner_graph = "\n\t".join(repr(self._graph).split("\n"))
399399
return "DelayableGroup(\n\t{}\n)".format(inner_graph)
400400

401-
def done(self, *delayables):
401+
def on_done(self, *delayables):
402402
"""Connects the current group to other delayables/chains/groups
403403
404404
The delayables/chains/groups passed in the parameters will be executed
@@ -517,7 +517,7 @@ def set(self, *args, **kwargs):
517517
self._set_from_dict(kwargs)
518518
return self
519519

520-
def done(self, *delayables):
520+
def on_done(self, *delayables):
521521
"""Connects the current Delayable to other delayables/chains/groups
522522
523523
The delayables/chains/groups passed in the parameters will be executed

queue_job/models/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ def delayable(
102102
103103
job1 = record1.delayable().do_work()
104104
job2 = record2.delayable().do_work()
105-
job1.done(job2)
105+
job1.on_done(job2)
106106
107107
The ``delay()`` call must be made on ``job1``, otherwise ``job2`` will
108108
be delayed, but ``job1`` will never be. When done on ``job1``, the

queue_job/readme/USAGE.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ which in some cases allow to build the jobs dynamically:
6060
.delay()
6161
)
6262
63-
The simplest way to define a dependency is to use ``.done(job)`` on a Delayable:
63+
The simplest way to define a dependency is to use ``.on_done(job)`` on a Delayable:
6464

6565
.. code-block:: python
6666
@@ -70,13 +70,13 @@ The simplest way to define a dependency is to use ``.done(job)`` on a Delayable:
7070
job2 = self.browse(1).delayable().generate_thumbnail((50, 50))
7171
job3 = self.browse(1).delayable().generate_thumbnail((50, 50))
7272
# job 3 is executed when job 2 is done which is executed when job 1 is done
73-
job1.done(job2.done(job3)).delay()
73+
job1.on_done(job2.on_done(job3)).delay()
7474
7575
Delayables can be chained to form more complex graphs using the ``chain()`` and
7676
``group()`` primitives.
7777
A chain represents a sequence of jobs to execute in order, a group represents
7878
jobs which can be executed in parallel. Using ``chain()`` has the same effect as
79-
using several nested ``done()`` but is more readable. Both can be combined to
79+
using several nested ``on_done()`` but is more readable. Both can be combined to
8080
form a graph, for instance we can group [A] of jobs, which blocks another group
8181
[B] of jobs. When and only when all the jobs of the group [A] are executed, the
8282
jobs of the group [B] are executed. The code would look like:

queue_job/tests/test_delayable.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ def test_graph_connect(self):
6161
node_tail2 = Delayable(self.recordset)
6262
node_middle = Delayable(self.recordset)
6363
node_top = Delayable(self.recordset)
64-
node_middle.done(node_tail)
65-
node_middle.done(node_tail2)
66-
node_top.done(node_middle)
64+
node_middle.on_done(node_tail)
65+
node_middle.on_done(node_tail2)
66+
node_top.on_done(node_middle)
6767
collected = node_top._graph._connect_graphs()
6868
self.assertEqual(
6969
collected._graph,

test_queue_job/tests/test_delay_mocks.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ def test_trap_jobs_perform(self):
7373
node = Delayable(model).create_ir_logging("test_trap_jobs_perform graph 1")
7474
node2 = Delayable(model).create_ir_logging("test_trap_jobs_perform graph 2")
7575
node3 = Delayable(model).create_ir_logging("test_trap_jobs_perform graph 3")
76-
node2.done(node3)
77-
node3.done(node)
76+
node2.on_done(node3)
77+
node3.on_done(node)
7878
node2.delay()
7979

8080
# jobs are not executed
@@ -142,7 +142,7 @@ def test_delay_graph_direct_exec_env_var(self):
142142
node2 = Delayable(self.env["test.queue.job"]).create_ir_logging(
143143
"test_delay_graph_direct_exec 2"
144144
)
145-
node2.done(node)
145+
node2.on_done(node)
146146
node2.delay()
147147
# jobs are executed directly
148148
logs = self.env["ir.logging"].search(
@@ -165,7 +165,7 @@ def test_delay_graph_direct_exec_context_key(self):
165165
node2 = Delayable(self.env["test.queue.job"]).create_ir_logging(
166166
"test_delay_graph_direct_exec 2"
167167
)
168-
node2.done(node)
168+
node2.on_done(node)
169169
node2.delay()
170170
# jobs are executed directly
171171
logs = self.env["ir.logging"].search(

test_queue_job/tests/test_delayable.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,18 @@ def test_delayable_delay_single(self):
5656
node.delay()
5757
self.assert_generated_job(node)
5858

59-
def test_delayable_delay_done(self):
59+
def test_delayable_delay_on_done(self):
6060
node = self.job_node(1)
6161
node2 = self.job_node(2)
62-
node.done(node2).delay()
62+
node.on_done(node2).delay()
6363
self.assert_generated_job(node, node2)
6464
self.assert_dependencies({node: {}, node2: {node}})
6565

6666
def test_delayable_delay_done_multi(self):
6767
node = self.job_node(1)
6868
node2 = self.job_node(2)
6969
node3 = self.job_node(3)
70-
node.done(node2, node3).delay()
70+
node.on_done(node2, node3).delay()
7171
self.assert_generated_job(node, node2, node3)
7272
self.assert_dependencies({node: {}, node2: {node}, node3: {node}})
7373

@@ -91,7 +91,7 @@ def test_delayable_delay_job_after_group(self):
9191
node = self.job_node(1)
9292
node2 = self.job_node(2)
9393
node3 = self.job_node(3)
94-
DelayableGroup(node, node2).done(node3).delay()
94+
DelayableGroup(node, node2).on_done(node3).delay()
9595
self.assert_generated_job(node, node2, node3)
9696
self.assert_dependencies({node: {}, node2: {}, node3: {node, node2}})
9797

@@ -102,7 +102,7 @@ def test_delayable_delay_group_after_group(self):
102102
node4 = self.job_node(4)
103103
g1 = DelayableGroup(node, node2)
104104
g2 = DelayableGroup(node3, node4)
105-
g1.done(g2).delay()
105+
g1.on_done(g2).delay()
106106
self.assert_generated_job(node, node2, node3, node4)
107107
self.assert_dependencies(
108108
{
@@ -118,7 +118,7 @@ def test_delayable_delay_implicit_group_after_group(self):
118118
node2 = self.job_node(2)
119119
node3 = self.job_node(3)
120120
node4 = self.job_node(4)
121-
g1 = DelayableGroup(node, node2).done(node3, node4)
121+
g1 = DelayableGroup(node, node2).on_done(node3, node4)
122122
g1.delay()
123123
self.assert_generated_job(node, node2, node3, node4)
124124
self.assert_dependencies(
@@ -139,7 +139,7 @@ def test_delayable_delay_group_after_group_after_group(self):
139139
g2 = DelayableGroup(node2)
140140
g3 = DelayableGroup(node3)
141141
g4 = DelayableGroup(node4)
142-
g1.done(g2.done(g3.done(g4))).delay()
142+
g1.on_done(g2.on_done(g3.on_done(g4))).delay()
143143
self.assert_generated_job(node, node2, node3, node4)
144144
self.assert_dependencies(
145145
{
@@ -156,8 +156,8 @@ def test_delayable_diamond(self):
156156
node3 = self.job_node(3)
157157
node4 = self.job_node(4)
158158
g1 = DelayableGroup(node2, node3)
159-
g1.done(node4)
160-
node.done(g1)
159+
g1.on_done(node4)
160+
node.on_done(g1)
161161
node.delay()
162162
self.assert_generated_job(node, node2, node3, node4)
163163
self.assert_dependencies(
@@ -205,7 +205,7 @@ def test_delayable_chain_after_job(self):
205205
node3 = self.job_node(3)
206206
node4 = self.job_node(4)
207207
c1 = DelayableChain(node2, node3, node4)
208-
node.done(c1)
208+
node.on_done(c1)
209209
node.delay()
210210
self.assert_generated_job(node, node2, node3, node4)
211211
self.assert_dependencies(
@@ -226,7 +226,7 @@ def test_delayable_chain_after_chain(self):
226226
node6 = self.job_node(6)
227227
chain1 = DelayableChain(node, node2, node3)
228228
chain2 = DelayableChain(node4, node5, node6)
229-
chain1.done(chain2)
229+
chain1.on_done(chain2)
230230
chain1.delay()
231231
self.assert_generated_job(node, node2, node3, node4, node5, node6)
232232
self.assert_dependencies(
@@ -253,7 +253,7 @@ def test_delayable_group_of_chain(self):
253253
chain2 = DelayableChain(node3, node4)
254254
chain3 = DelayableChain(node5, node6)
255255
chain4 = DelayableChain(node7, node8)
256-
g1 = DelayableGroup(chain1, chain2).done(chain3, chain4)
256+
g1 = DelayableGroup(chain1, chain2).on_done(chain3, chain4)
257257
g1.delay()
258258
self.assert_generated_job(
259259
node,
@@ -299,6 +299,6 @@ def test_delay_job_already_exists(self):
299299
node = self.job_node(1)
300300
node2 = self.job_node(2)
301301
node2.delay()
302-
node.done(node2).delay()
302+
node.on_done(node2).delay()
303303
self.assert_generated_job(node, node2)
304304
self.assert_dependencies({node: {}, node2: {node}})

0 commit comments

Comments
 (0)