Printer Queue Cleaning



  • I know this may be some story from the "O ... yeah ... funny" corner, but still we had a good laugh yesterday. So I might as well post it:

    We wrote some fairly complex production tracking system for one of our clients. It's been in use for years and working (almost) flawlessly. Part of the process is that some department in the company prints a large amount of production labels every day. The printing is done using a special Windows NT service we wrote which reads a print job (actually just an order number) from the database, gathers necessary data and prints the labels for each item in the order on a label printer.

    Yesterday we got a phone call from the person in charge of printing the labels. He said: "For the entire morning I've been trying to print a set of 900 labels. But everytime I've tried to do so, the print job was just removed from the queue after printing between 400 and 600 labels! This is happening for the first time ever - I don't know what's going on. Production is about to stop if I don't get the labels printed...". The "Production is about to stop" part made us move very quickly. One of my collegues and I started looking through LOG files, database tables, configuration files and source code, tried to ping printers, servers and whatnot. After hours of desperate searching for the cause of the error we gave up and called the client back to tell him we could not find the error.

    What he told us made us cry laughing. They had found the cause of the problem: There was a new fellow working in the label printing department. However, he was not quite familiar with the process yet, so he got pretty confused when he saw new print jobs popping up in our Label Print Monitor Tool. Being sure that he had not spawned these print jobs he figured that they were probably erroneously created and just quit them...



  • why did you not try to recreate the problem first before spending hours on finding a solution? Never trust the client on diagnosing the problem.



  • @sepi said:

    why did you not try to recreate the problem first before spending hours on finding a solution? Never trust the client on diagnosing the problem.

    How exactly was he going to recreate a retarded user?

    I know I never would have thought of that in debugging. "What if someone is sitting there manually deleting everything in the print queue?"



  • @sepi said:

    why did you not try to recreate the problem first before spending hours on finding a solution? Never trust the client on diagnosing the problem.

    How exactly was he going to recreate a retarded user?

    I know I never would have thought of that in debugging. "What if someone is sitting there manually deleting everything in the print queue?"



  • @MasterPlanSoftware said:

    How exactly was he going to recreate a retarded user?

    I know I never would have thought of that in debugging. "What if someone is sitting there manually deleting everything in the print queue?"


    The way to deal with it is to make sure the job has a sane name in the queue, like "Print labels (automated, DO NOT REMOVE UNDER PENALTY OF DEATH)".



  • I don't think they need any adjustments. Sometimes you can't account for idiots. And even trying would be retarted too. Any person with a level head would be careful when deleting things they have nothing to do with. Files, print jobs, whatever. Especially in a work environment. A sane programming change would be to modify it to where they need to put in credentials to delete jobs. But even so, if that idiot knew the password, he still would have keyed it in and deleted them anyway.



  • @fbjon said:

    @MasterPlanSoftware said:

    How exactly was he going to recreate a retarded user?

    I know I never would have thought of that in debugging. "What if someone is sitting there manually deleting everything in the print queue?"


    The way to deal with it is to make sure the job has a sane name in the queue, like "Print labels (automated, DO NOT REMOVE UNDER PENALTY OF DEATH)".

    I hope this was a joke.



  • What do you expect when you give people the power without teaching them about how they should use it?



  • @fbjon said:

    The way to deal with it is to make sure the job has a sane name in the queue, like "Print labels (automated, DO NOT REMOVE UNDER PENALTY OF DEATH)".
    You have very little experience with users, don't you?



  • @ender said:

    @fbjon said:
    The way to deal with it is to make sure the job has a sane name in the queue, like "Print labels (automated, DO NOT REMOVE UNDER PENALTY OF DEATH)".
    You have very little experience with users, don't you?

    Any user I have ever had the unpleasant experience of dealing with would have seen this, and been more determined than ever to delete it.



  • @MasterPlanSoftware said:

    @sepi said:

    why did you not try to recreate the problem first before spending hours on finding a solution? Never trust the client on diagnosing the problem.

    How exactly was he going to recreate a retarded user?

    I know I never would have thought of that in debugging. "What if someone is sitting there manually deleting everything in the print queue?"

    Don't job cancellations show up in the logs?



  • @MasterPlanSoftware said:

    @ender said:

    @fbjon said:
    The way to deal with it is to make sure the job has a sane name in the queue, like "Print labels (automated, DO NOT REMOVE UNDER PENALTY OF DEATH)".
    You have very little experience with users, don't you?

    Any user I have ever had the unpleasant experience of dealing with would have seen this, and been more determined than ever to delete it.


    And when they do, you execute them. Problem solved.



  • @MasterPlanSoftware said:

    @fbjon said:
    @MasterPlanSoftware said:

    How exactly was he going to recreate a retarded user?

    I know I never would have thought of that in debugging. "What if someone is sitting there manually deleting everything in the print queue?"


    The way to deal with it is to make sure the job has a sane name in the queue, like "Print labels (automated, DO NOT REMOVE UNDER PENALTY OF DEATH)".

    I hope this was a joke.

    Not at all.  Here in the states, it's entirely normal for businesses to mete out capital punishment for minor workplace offenses.  I don't know how they keep employees in line wherever you're from...
     



  • @hunter9000 said:

    @MasterPlanSoftware said:

    @ender said:

    @fbjon said:
    The way to deal with it is to make sure the job has a sane name in the queue, like "Print labels (automated, DO NOT REMOVE UNDER PENALTY OF DEATH)".
    You have very little experience with users, don't you?

    Any user I have ever had the unpleasant experience of dealing with would have seen this, and been more determined than ever to delete it.


    And when they do, you execute them. Problem solved.

    Wait... We can do that now??

    Alright!



  • @merreborn said:

    @MasterPlanSoftware said:
    @fbjon said:
    @MasterPlanSoftware said:

    How exactly was he going to recreate a retarded user?

    I know I never would have thought of that in debugging. "What if someone is sitting there manually deleting everything in the print queue?"


    The way to deal with it is to make sure the job has a sane name in the queue, like "Print labels (automated, DO NOT REMOVE UNDER PENALTY OF DEATH)".

    I hope this was a joke.

    Not at all.  Here in the states, it's entirely normal for businesses to mete out capital punishment for minor workplace offenses.  I don't know how they keep employees in line wherever you're from...
     

    1. I live in 'the states'.

    2. I have no problem with capital punishment for stupid people. There would be a lot more space around here.

    3.  Recommending that error message as a serious fix would be a huge WTF...



  • @merreborn said:

    Here in the states, it's entirely normal for businesses to mete out capital punishment for minor workplace offenses.  I don't know how they keep employees in line wherever you're from...

    We glue their shoes to the floor. 



  • @sepi said:

    why did you not try to recreate the problem first before spending hours on finding a solution?

    There are certain classes of bug where you continue debugging even if you can't reproduce the bug. "Production is about to stop" is one of them -- a stopped production line can easily cost several hundred thousand dollars an hour.



  • In the grand scheme of things this was probably a good thing, at least for the clients.  Hopefully when they were telling the new guy not to delete things in the queue, the went over the rest of the system and explained what these print jobs look like, where they come from, how they're generated, etc.  Sometimes making a "catastrophic" mistake early in your new job benefits everyone because you get to review the process and everyone is on the same page again.

     On the other hand, they probably just gave him the "death penalty" speech and now the poor guy won't delete anything, even stalled print jobs.
     



  • @MasterPlanSoftware said:

    2. I have no problem with capital punishment for stupid people. There would be a lot more space around here.

     The only problem with that is that everyone has moments of stupidity. Would you want to be executed the first time you're caught doing something stupid ?



  • @pitchingchris said:

    @MasterPlanSoftware said:

    2. I have no problem with capital punishment for stupid people. There would be a lot more space around here.

     The only problem with that is that everyone has moments of stupidity. Would you want to be executed the first time you're caught doing something stupid ?

    Yes, and I expect those around me to hand my punishment out with swift, decisive action.


Log in to reply