ymlam
9cf5ee355e
DailyClock thread given name. Add try to catch unexpected thread death.
1 anno fa
ymlam
dd51a14ea8
Remove obsolete comment.
1 anno fa
ymlam
bb665f8e67
Allow communication engines to deny resume by clock
1 anno fa
ymlam
45dafcbd73
Reset jobStatus to null on rescheduling a job.
This fixes bug of not decrementing activityAcount to 0
whenb encountering 'daily_limit_reachede'.
1 anno fa
ymlam
93d7d53439
Easier understandable algorithm for determining within operating hours.
1 anno fa
ymlam
c480c88ba9
Close window of missing clock action on a heavily loaded system.
The clock thread may not wake up during the daily pause
and daily resume minute, and when it does not, the corresponding
wall clock action will be missed.
The fix is in checkout the time of operations every time the
clock thread wakes up.
There is no longer need for the clock to wake up in the middle of
a wall clock minute. So we improved the user experience by waking
up this thread at the beginning of every minute.
1 anno fa
ymlam
5577211a22
report remaining job count, instead of 0, as ready when posting canceled broadcast status
2 anni fa
ymlam
fc6784f93a
No longer reqires data returned from posting to portal.
2 anni fa
ymlam
2b3295588b
Count active jobs only over dispatched jobs whose status is not final.
2 anni fa
ymlam
1952dce39c
Allow derived class to add resume conditions.
2 anni fa
ymlam
30e69b4aba
Fix bug of not terminating broadcast -- affects EmailEngine only
2 anni fa
ymlam
efc7f23d2b
Resume by clock only resumes if pause is by clock
2 anni fa
ymlam
940e276ab2
Updates to support Live Call 2, i.e. agent first
2 anni fa
ymlam
244f78b435
Fix bug of generating bad XML when launch_record_id is not supplied in request.
2 anni fa
ymlam
952d8acb7e
Relax requirement of launch_record_id in broaddast request.
There is no meaningful processing of launch_record_id, which
is really just a pass through back to portal.
2 anni fa
ymlam
fba1269d2d
Fix bug of missing trailing VoiceCall status updates to portal.
Reason is due to premature terminating postback threads because
the serviceActivityCount is decremented erreously when updating
intermediate job statuses with portal.
Fix is in classifying job status as final or non-final.
As it is, all JobStatus in CommEngine are final; however,
derived classes may have non-final JobStatus.
2 anni fa
ymlam
4ab8cd54d1
Fix bug of not terminating all service and postback threads at end of broadcast.
2 anni fa
ymlam
9055d74fc3
Fix bug of not updating activity count on exception
2 anni fa
ymlam
be2dea5835
Remove broadcast expire feature.
2 anni fa
ymlam
e5c0187f3c
Transmit ABORT reason when setting BroadcastState to ABORT
2 anni fa
ymlam
e4da5bf0c7
Fix bug of not posting the correct debit for voice calls.
Fixed by decrementing serviceActivityCount only by postJobStatus method.
Also jobs being scheduled are taken into considering when deciding
to advance broadcast state COMPLETED to ALLDONE.
2 anni fa
ymlam
f285c75523
Added CSV logging function to Broadcast.
CSV logger name as it appears in log4j.properties is "csv".
2 anni fa
ymlam
44e771a8f6
Allow a job to cause broadcast to abort at time posting
Achieved by adding the isBroadcastFatal method to Job class.
2 anni fa
ymlam
0364609e68
Re-declare enum JobStatus as an interface so it can be virtually extended by derived Engines
Thie allows for removal of entries from the original enum JobStatus that more
appropriately belong to derivation of CommEngine. Such data complicates
the management of the original JobStateus when adding new CommEngines.
These entries can be declared in a new enums implementing
the JobStatus interface, for each derived CommEngine.
2 anni fa
ymlam
f8ee1ad599
Complete backward compatibility which has a bug in commit 6bd4ca1af3
2 anni fa
ymlam
6bd4ca1af3
Backward compatible with portal not having daily_start/daily_stop times
2 anni fa
ymlam
2a802c659e
Fix bug of at times getting stuck at PAUSING state on reaching daily limit
3 anni fa
ymlam
2555d5e4e0
Sleep between postback IO exceptions
3 anni fa
ymlam
d2f9b87a34
Improved interaction between pause by operator and by clock
3 anni fa
ymlam
b26988bc59
Replace daily pause/resume with daily operating hours
3 anni fa
ymlam
128aba88ba
Allow BroadcastState transition from PAUSING to CANCELED
3 anni fa
ymlam
53bc932e97
Added ability for derived Broadcast class to add to configuration output.
3 anni fa
ymlam
f85acef9b3
Separated reschedule function out of postJobStatus() into its own rescheduleJob()
3 anni fa
ymlam
c29495bf26
Receive daily_pause and daily_resume in broadcast request
3 anni fa
ymlam
abf7b6700e
Better use of 'new JSONObject()'
3 anni fa
ymlam
9c8d6cab4d
API to configure daily clock
3 anni fa
ymlam
7c5e990de6
Fix bug of not sleeping according to calcaulated sleep time.
3 anni fa
ymlam
b4ed4d2f80
Add MSG_TOO_LONG JobStatus
3 anni fa
ymlam
1234de3189
Time of day clock based pause and resume.
Use reason field in Broadcast to record reason for pause, cancel etc.
3 anni fa
ymlam
b8d29b99d3
Added daily pause and resume feature.
Improved reponse text to pause and resume commands.
3 anni fa
ymlam
2b6ef161c1
User friendly response to PAUSE command.
3 anni fa
ymlam
053483a919
Fix bug of not stopping immediately on CANCEL while PAUSED.
The service threads do not terminate immediately, but, instead
each service thread picks up one more job before terminating,
causing servicing more jobs which are not reported back to portal.
3 anni fa
ymlam
7b4d88b9f8
Fix bug of sometimes not terminating broadcast when paused with large number of service threads.
This happens when all remaining jobs are being serviced by
service threads when PAUSE is initiated. Similarly fixed
for CANCEL.
3 anni fa
ymlam
81940e001e
Added more JObStatus to support SMS provider Bandwidth
3 anni fa
ymlam
4d95efe3e9
Add Auto Pause feature
3 anni fa
Yuk-Ming Lam
f8beed06e9
Convert successCount from int to AtomicInteger
3 anni fa
ymlam
28756a94d6
Better exception handling
4 anni fa
ymlam
580bed601f
Place readyQueue, scheduledJobs, serviceActivityCount under one single semaphore readyQueue.
4 anni fa
ymlam
253c78ab71
Add stateSemaphore to ensure modifications to state value is synchronized.
4 anni fa
ymlam
8fd8813afa
Add BroadcastState.ABORTING to fix bug of losing postbacks on abort.
4 anni fa