Closed g41797 closed 9 months ago
@xepozz, emoji is great example of current JobStatus - github adapter does not support notification for emoji, lack of information what happened and as result what should be improved. Could you please provide "additional information"?
@g41797 I just read I didn't get the reason to have so flexible status checking as you wrote. I have some different goals what to do now before the package release and seems your idea doesn't suites the goals.
Also seems quite hard to implement progress/cancellation with additional jobs. Just imagine 100 RPS makes 100 * (amount of progress check messages) tasks. I'm not ready to discuss it now.
That's interesting since some queues do not provide any way to peek inside. But, as @xepozz noted, likely that's extra workload that will slow down queue processing.
First of all we need to understand whether
My bet - answers are yes&yes
Do you have possibility to ask Yii users about this use case?
Regarding slow down processing - it's usual answer of busy developer I did it a lot in my career
My bet - answers are yes&yes
Of course, that's nice to have. But it could be implemented in multiple ways:
Agree But what is the flow from end-user point of the view? e.g.:
Immediately raised question - "Who allowed to monitor jobs?" any user, admin etc
Or how many simultaneous monitoring apps/pages should be supported
There isn't a problem to define interfaces etc Main problem - flow definition and user reqs
What is Yii way to create "application definition "?
Web page for submitting jobs
No, definitely not. Jobs are submitted by code, not manually.
Web page for monitoring
Yes, could be part of https://github.com/yiisoft/yii-dev-panel
Background workers invisible for user
Yes.
"Who allowed to monitor jobs?" any user, admin etc
The one having access to dev panel. End user usually doesn't need to know about that but if we have an API for getting a job status, one might use it to inform user.
Or how many simultaneous monitoring apps/pages should be supported
Endless number.
Possible variants for storing of job statuses pushed by workers to queue:
Using db (as jobs registry) or broker storage should be part of driver (transparent to queue)
db based jobs registry support will be standard part of yii framework itself it injected to driver in run-time
We will have following nested blocks:
For end-user developers will be supplied standard docker-compose with yii, db and broker
Your turn
@viktorprogger, @s1lver thoughts?
adding insult to injury
In order to acts as "jobs registry" broker should support Event Sourcing (I learned it today) Usually it means that
e.g.
as result - [100-1000???]RPS (clients of StreamAPI - 1000000RPS)
no thoughts no glads
issued #194 instead - for go i can start it today
FOR BRAINSTORMING
Target:
How to achieve:
JobStatus contains:
JobStatus is Message Job Handler periodically (within processing loop) pushes JobStatus via Queue to Producer.
JobCancel is Message Monitoring app. pushes JobCancel to Queue, on the other side QueueLoop (implements LoopInterface) receives it ...
Function "run Job" moved from Adapter to Queue.
Flow is generic, does not depend on specific functionality of Adapter.