Continuous task waiting and suspend it [closed] - java

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
In a spring boot web application, I need to be able to do two tasks.
Tasks
Always check on the serial port if there is some data to read. Somebody can have passed a card on the scan. I think this task needs to start with the application.
If a new member comes, I need to scan a card, task 1 needs to be suspended/stopped... if the card is not assigned to anybody, it's assigned to this member. Restart task 1.
I don't know what is the best way to do task 1 to facilitate task 2.
I see there are many possibility: #Scheduled, TaskScheduler who will execute a thread...
Any suggestions?

You should make one Thread that reads data from the serial port in a loop and dispatches this data as events when something usefull was readed to a proper service that will serve this.

Related

Starvation and threads [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I have an interesting scenario based question related to java threads.
Sam has designed an application. I t segregates tasks that are critical and executed frequently from tasks that are non critical and executed less frequently. He has prioritized these tasks based on their criticality and frequency of execution. After close scrutiny, he finds that the tasks designed to be non critical are rarely getting executed. From what kind of problem is the application suffering?
I have figured it out as "Starvation" but i am still confuse whether I am right or wrong.
Starvation is a reasonable term for what is going on here. However, your lecturer might have something more specific in mind (... I'm not sure what ...) so check your lecture notes and text books.
... i am still confuse whether I am right or wrong.
If you stated why you are confused, we might be able to sort out your confusion.

How to handle thousands of background jobs? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
We are using quartz for a background server whose purpose is to systematically aggregate the data by applying some business rules. Essentially, we have three background jobs which fires m*n more jobs. Since we are a SaaS application so we have multiple tenants so we end up with (no. of tenants * (3 + m*n )) jobs. These are fired over ten threads and the triggers repeat indefinitely as we require them to be aggregated hourly due to business constraints. Note that once these jobs are fired at server startup they remain consistent, i.e. no new jobs would come. SO the final number of jobs are as mentioned above.
Each job hits the DB and some of them could take more than a second as well.
Could any of you suggest the best way to scale this. We could consider restructuring the code as well as this code was more of a POC and we really need to SCALE!!!
----------------------EDIT----------------------
From the responses so far received I would like to make the question more concise. There is this approach which we followed, i.e. using 10 threads we scheduled multiple quartz job at server startup and triggered them indefinitely to be run every hour. Do any of the members here have a suggestion here how to approach such problems in a more efficient manner, is quartz scheduler the best approach or use some other tools/ framework, maybe Spring batch..

Best practice to use Accelerometer on android, main thread or separate thread? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I am working on a android application where shake detection is required, which is already implemented and working perfect. I am using Accelerometer to detect shake.
Here is my question:
Current implementation is using/listening sensor on main UI thread, which is working perfect as of now. But still I am confused about the best practice to use the sensor, what it is? to run on Main Thread or on Separate Thread?
if Main Thread, its pretty clear me.
if your suggestion is Separate Thread, then why so?
One more thing, on the name of processing after shake detection, I am doing network request which is on Separate Thread, so no load of after detecting shake, only thing I care about is how costly it is to Start Listening to a sensor on main thread.
With simple sensor detection it is more than adequate to use the main UI thread. Starting up a separate thread with sensors would require a handler and thread cleanup. You are adding unnecessary steps.
If you are already pushing your ui you are likely better off moving some of your other bulk off of the main thread. Sensors are just handled really efficiently with Android already, moving it off the thread won't help as much as it could hurt if you aren't careful.
Now performing operations on the data you get from sensors (like location from GPS) is a whole different ballgame, and something that will very possibly need it's own thread.

Akka's ActorSystem Shutdown? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
please
how to shutdown actorSystem after all childs' actors finished
system().shutdown //cut actors work
i try to use
system().shutdown
but this cut other actors work
and schedule may finish before child actors finished
The Derek Wyatt's article Shutdown Patterns in Akka 2 (http://letitcrash.com/post/30165507578/shutdown-patterns-in-akka-2) gives the comprehensive answer to the question.
For testing this works just fine. You will be able to use sbt ~run
system.scheduler.scheduleOnce(20 seconds) {
println("shutdown")
system.shutdown
}

Java exception handling with retry [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
Working on a small internet application, I need to deal with a service out-of-service situation. What is a good approach of retry after an exception?
The simplest solution (though maybe not the best) would be to return an error page to the user (with status 503: Service Unavailable), and tell him he should try again in a few seconds.
Depends on how long your application will be out of service but I will go with one of those :
- if the interruption is short less than one minute, loop and try to call the function/service/ ....
- if the interruption could be longer, you could use a JavaScript routine that would automatically refresh the page ... every 60s
- As Eran Zimmerman's answer, display an error page and advice the user to try again later
You don't want to beat your application to death with repeated retries. Returning an error page is not that bad an option. If you must retry (you have some flaky service where you can't cache the results) then use a backing-off approach where with each retry you double the time until the next try.

Categories