Added TODO list to README
This commit is contained in:
parent
8d1f35e273
commit
3318d809e5
|
@ -49,3 +49,10 @@ The wording of the problem description clearly implies the use of C#/.NET, howev
|
||||||
However, despite it's large feature set, Django has no native support for long background threads (though modern versions have some asynchronous call support). For this purpose it is generally recommended to use the Celery library which then communicates with the main Django server via multiprocess pipes. This is, however, overkill for this problem and so a simple thread is used instead. This however means that the simulation thread relies on the Django webserver for its own existence. In an Enterprise environment, it would be more desirable to have the traffic light control to operate independently, which would then encourage the use of a separate process such as provided by Celery.
|
However, despite it's large feature set, Django has no native support for long background threads (though modern versions have some asynchronous call support). For this purpose it is generally recommended to use the Celery library which then communicates with the main Django server via multiprocess pipes. This is, however, overkill for this problem and so a simple thread is used instead. This however means that the simulation thread relies on the Django webserver for its own existence. In an Enterprise environment, it would be more desirable to have the traffic light control to operate independently, which would then encourage the use of a separate process such as provided by Celery.
|
||||||
|
|
||||||
The UI is a simple web page that calls polls for updates from the server. Due to the use of locks to avoid race conditions, this can induced minor delays (milliseconds at worse) in the processing and updates of traffic light information in the simulation thread. The main loop is designed in such a way that this will not cause cumulative delays in traffic light timing. However, it is worth considering that another approach may be desirable (such as pushed client updates rather than polling) if, for instance, many clients were expected to be making simultaneous requests of the server.
|
The UI is a simple web page that calls polls for updates from the server. Due to the use of locks to avoid race conditions, this can induced minor delays (milliseconds at worse) in the processing and updates of traffic light information in the simulation thread. The main loop is designed in such a way that this will not cause cumulative delays in traffic light timing. However, it is worth considering that another approach may be desirable (such as pushed client updates rather than polling) if, for instance, many clients were expected to be making simultaneous requests of the server.
|
||||||
|
|
||||||
|
# TODO List
|
||||||
|
|
||||||
|
1. Add instructions for installation/execution to README (including pre-requisites)
|
||||||
|
1. Add configuration options for periods data file, start time, and time factor
|
||||||
|
1. Change print statements to formal logging
|
||||||
|
1. Remaining refinements for frontend (font, remove debug visual aids, time remaining)
|
||||||
|
|
Loading…
Reference in New Issue