Click here to Skip to main content
15,886,199 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Quick back story - I have an app I've been experimenting with based on the Simple POP3 Email class below. I receive live exports from a CAD system to an email account. I use this Simple POP3 application to download the email(s), parse the content, and feed that to another program.

Simple POP3 Email Class[^]

So I have a couple questions. Since I need the "live" data to be moving ASAP, I prefer an email "push" application where I would automatically receive emails as they come in. However, poor network architecture frequently disrupts connections, and so I have been experimenting with this type of a setup where I just poll the email account about every 5 seconds, parse new emails, and delete them from the account. Q1: Is it considered "bad practice" to poll an email address about 12 times a minute?

Next, I am feeding this CAD info to many different workstations in many locations, so the email app will run on as many as 2-dozen computers. knowing that I'll never get multiple email clients to poll the same email account (because the account is locked when one client has access), I could specify a different email account for each workstation. Q2: (kind of like Q1) Is it bad practice to continuously poll for emails multiple times a minute from multiple email accounts on your domain? Does that drastically diminish services that my hosting company is providing?

Everything I've tried so far seems like this will work, I'm just worried about all the email requests looking like spam or reducing performance yet knowing that maybe this is going on constantly across the internet and my ~200 requests a minute would be a grain of sand on a beach. Or maybe I'm doing this all wrong and I need to approach another way.

Just looking for some thoughts on this type of architecture. Thanks!
Posted
Comments
Sergey Alexandrovich Kryukov 11-Nov-13 0:54am    
Nearly everything you described here could be considered as a very bad practice, starting the idea of using e-mail. The ultimate goals of all that are not clear to me though. You might have some chance to get some useful advise if you can explain those goals and the purposes of the application...
—SA
JMU Duuuukes 12-Nov-13 16:34pm    
Thank you SA.

OK so let me clarify the processes. I am trying to integrate a mapping system with information coming out of a call center. The call center initiates a service request, and their dispatch system pushes out notifications via email or SMS. The content is quite simple it's just who's assigned to the request, a timestamp, an address or intersection, and a call/service number.

The techs have a mapping application that can consume XML files and keep a "call log". So the idea is the call center initiates a request, that goes out on email, this app that I'm trying to come up with gets the message, reads it, and generates the XML for the mapping application so that it pops up on the assigned tech's laptop.

The options for the data coming out of the CAD are not very good. Like I mentioned it's either email or text message.

I have tried using this email app that I mentioned in the OP on a server that basically runs a chat room. It gets the CAD email, then pushes the data out to chat clients over TCP, but I have had a lot of errors with the chat server maintaining sockets/connections. It also adds an extra step to an already complicated problem. I would think I could just make an app for each tech/client computer that waits for calls to come through and reads them and makes the info pop up on the client screen.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900