Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0009741Dwarf FortressDwarf Mode -- Interface, Managerpublic2016-05-11 02:202016-05-11 12:14
Cerapter 
 
highminoralways
newopen 
LinuxXubuntu16.04
0.43.01 
 
0009741: Job Manager - Perpetual orders with conditions never stop
Using either the job manager (j-m) or the workshops' profile (P) to assign perpetual orders with set conditions never stop, no matter whether the conditions are no longer true.

As it seems right now, the first 'check' to see if the job should even be started is done, after that, the job is assigned. However, when the job is completed, it is not checked whether the conditions are still true; rather, the job simply restarts.
1a. Assign a dwarf as a manager, then use the Job Manager (j-m).
1b. Alternatively, build a workshop, then use q to query it, then press P to see it's profile.
2. Set up a perpetual job (by setting the amount to produce to 0).
3. Press c to define any kinds of conditions to it.
As it can be seen, at this point, the game checks for conditions.
4. Let the job run its course.
5. You may manually check at any time if the conditions are still true by going into the conditions menu of the job again.
6. After a while, it can be seen that the job's conditions are no longer true, yet the job is still going on.

You may set the job to daily repeat to see the results sooner, or set it to monthly to see that there seems to be no checks between repeats.
No tags attached.
has duplicate 0009784resolved lethosor Job Manager does not respect item conditions 
has duplicate 0009802resolved Loci Manager does not deactivate jobs when conditions are no longer met 
related to 0009740new  Conditional work orders only look at existence of items, not availability 
Issue History
2016-05-11 02:20CerapterNew Issue
2016-05-11 08:51CerapterNote Added: 0035133
2016-05-11 10:22VerouleNote Added: 0035134
2016-05-11 12:14CerapterNote Added: 0035138
2016-05-11 15:13DwarfuRelationship addedrelated to 0009740
2016-07-03 15:11lethosorRelationship addedhas duplicate 0009784
2016-08-01 16:24LociRelationship addedhas duplicate 0009802
2016-08-01 16:24LociIssue Monitored: Chthon

Notes
(0035133)
Cerapter   
2016-05-11 08:51   
As it turns out, there is a difference between "perpetual" and "repeating" jobs. This bug report can be safely ignored.
(0035134)
Veroule   
2016-05-11 10:22   
Related to my report at 9740, and quite possibly the more accurate diagnosis of what I saw happening.

I think the 'perpetual' is meant to be repeat forever, so checking the conditions should occur between each iteration. If there is some other repeat forever then some changes to the interface should be considered to make everything clearer.
(0035138)
Cerapter   
2016-05-11 12:14   
Perpetual is when you type 0 as the number of things you want to create.
Repeating is when you set a (c)ondition and have it repeat every day/month/whatever.

Neither just makes you X amount of stuff.
Perpetual just makes infinite amounts of stuff without stopping.
Repeating makes X amounts of stuff everytime the job is not being done (i.e. the previous iteration has finished) and when the conditions are all true.
Perpetual repeating is when you do both at the same time (setting the amount to 0, then having the game repeat the job every day/month/etc). In essence, it would mean that it'll do infinite amounts of stuff everytime the conditions are true and it's time for a repeat. In practice, since infinity never finishes (obviously), it's just a way of delaying an infinite job using conditions.