Forum

Please note that you can subscribe to the individual forums. A subscription for news only covers the news.

Notifications
Clear all

More "Job" Issues  

   RSS

0

As per my last post I had made alteration to my script to use timers for starting jobs, and doneprocedures to addmerits as to not cause the maxmerits based on punishments to trigger during jobs while assigned. This seems to be working quite well honestly.

 

However, my next issue with jobs is that I can not get the endtime and expire commands to work properly. The jobs assigned always are given around 2 days to do. But on some jobs I only want a certain time for them to be done, and if they are not done during those times I wanted the program to assign a punishment. I could be using them wrong, so here is what I am doing as an example

Using endtime=11:00 to set the time to be completed by to 11am

Expire=01:00 to set the job to be deleted at Noon (1 hour after endtime)

Expireprocedure=(a procedure that calls specific punishment groups and severity.)

 

What I get is something that looks like the job is given 2 days to complete. The times seems to almost be random. (not sure) and when the job is not completed by the set time nothing happens, but when the job is not completed by the given time the only thing that happens is a message saying you didn't complete the job appears. 

I fear that I might have to make another workaround similar to starting jobs but this time ending jobs. The good news is that when a job is running I don't have any problems.

6 Answers
0

While trying to find a workaround I seem to have stumbbled onto another issue. The Delete=(jobname) doesn't find anything. I always get Error in script job/punishment not defined. I tried using both delete=(jobname) and delete=(punishmentName). 

0

Update: I've figured out why the punishments were not being called when the job expired. I had it written

[Job-]

punish=

punishmentgroup=

[punishment-]

punishmentgroup=     <----that is wrong. should be just be "group=" that was my bad. 

 

As far as getting an assignment to be removed, using delete=, abort=, and markdone= does not work in procedures. Aside from have the sub manually click the delete button with deleteallowed=1 I'm not sure if there is any other way to fix this issue.

0

Try using Respite to tell how long time the sub has to complete the job.

There is no punishment for completing the job too late. That is because I don't want to punish the sub for completing a job or a punishment. But you can use RemindPenalty to punish the sub when not completing it, and RemindInterval to tell how often the sub should be punished when not doing a job or punishment.

When using delete=, abort=, and markdone=, remember that the names must be including the type. That is Delete=job-jobname or Abort=Punishment-name. The reason is that all three keywords can be used with both jobs and punishments, which can have the same name, and the program needs to know which one you want.

Sven

0

wait respite determines how long they have to complete the job? I thought that was to limit how often the job would be given. In the manual it says EndTime specifies the time of day where the sub must have completed the job. If that's not the case then what does endtime do?

I also didn't want to punish for doing a job, but I did want to punish if they didn't do the job in the time given and then the job expire. I just cant seem to get the time to complete then punish then expire down. Respite may be the thing I'm missing though as I haven't put it in my script because I was confused to what it actually did. Guess im just dumb lol. ps could you delete my workaround code post? I had to change it a bit and if respite works then there would be no need for the work around. The good news is I have a better understanding of flags and the different procedures work because of it. 

 

would you be willing to give an example? Just a start at noon, job be done by 6pm, expire if not done and punish. I'm for sure missing how that works properly.

 

I'll try it out in the next few days and let you know. Thank you for clearing that up.

0

It's a bit back in my memory, so please forgive me if this is not 100% correct.

Originally jobs were controlled by Interval, telling how many days between that the job must be completed, and Respite, telling how long time in advance the sub should be noticed.

The jobs were always ending at midnight, so EndTime was introduced to tell which time of day, not the date, that the job should be completed. 

Later the Run command was introduced. It is mainly meant for jobs that must be run on specific weekdays, or which must be run every day. To prevent the sub from having two of the same jobs simultaneously, Expire was introduced. 

To punish a sub for being late, without punishing for completing the job, you have Remindinterval and Remindpenalty. Remindpenalty tells which punishment the sub will receive when time is up. And Remindinterval specifies how often the punishment should be repeated, if the job is still not finished. 

I don't have time to make examples right now. I will see if I can make some later. 

The demo script shipped with the program have some job examples. 

Sven

 

0

I have added a couple of examples of jobs here:

http://virmst.eu/wp/community/routines-for-virtual-master-version-3/examples-of-jobs/

Sven