roxlukas / lmeve

LMeve - industry manager and contribution tracker for EVE Online
https://pozniak.pl/wp/
Other
51 stars 13 forks source link

Task tracking. #32

Closed clstb closed 8 years ago

clstb commented 8 years ago

It seems like that the tool is not tracking the tasks of all members correctly. Could you explain the mechanic how the tool checks task progress ? I think it is most likely a humanerror of mine and or corporation members.

cheers Claas Stoertenbecker

roxlukas commented 8 years ago

Tasks are specific industry action (manufacturing, invention, copying, research, etc) of specific item assigned to a specific character. They help coordinating big industry operation when you want to divide tasks between multiple members. Administrator assigns tasks with specific quantities, so corp does not overproduce intermediate products such as blueprint copies for invention or advanced mats.

Tasks are tracked over a month long cycle, starting on 1st of a month until the last day of month.

Tasks are normally recurring every month (starting at 0% completion), but they can be set as "one time". Such tasks will only appear in the month they were assigned, and will not appear in the following months.

Tasks can be assigned by a person with "Edit Tasks" right (by default Administrator and Officer roles have this right).

Tasks can only be completed by the character they were assigned to. Even if a player has multiple alts, work done by alts wont count toward task completion. Each character has their own tasks.

LMeve can and will track all industry actions done by corp members, but they will be under a) statistics b) character page and not under Tasks. Tasks are reserved for activities ordered by the corp to its members.

On 26 maj 2016, at 17:22, ClaasStoertenbecker notifications@github.com wrote:

It seems like that the tool is not tracking the tasks of all members correctly. Could you explain the mechanic how the tool checks task progress ? I think it is most likely a humanerror of mine and or corporation members.

cheers Claas Stoertenbecker

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub

clstb commented 8 years ago

So the progress of a task is calculated with the help of industry jobs done by the character that the task was assigned to ? So the progress of a task should updated every 15minutes after the api poll right ?

roxlukas commented 8 years ago

Yes, progress bars are updated based on data from IndustryJobs and IndustryJobsHistory API endpoints.

IndustryJobs updates every 15 minutes, and IndustryJobsHistory updates every 6 hours. You can double check that IndustryJobs and IndustryJobsHistory get updated under Statistics -> EVE API Statistics.

On 27 maj 2016, at 12:06, ClaasStoertenbecker notifications@github.com wrote:

So the progress of a task is calculated with the help of industry jobs done by the character that the task was assigned to ? So the progress of a task should updated every 15minutes after the api poll right ?

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

clstb commented 8 years ago

http://imgur.com/a/XA1de this is what makes me wonder.

roxlukas commented 8 years ago

According to the blitz icon this is a "one time task". Such tasks are counted since task creation: beginProductionTime > taskCreateTimestamp

If you change it to recurring task, progress under tasks will change from 50 to 100 (whole month will be counted instead of since task creation

2016-05-27 12:28 GMT+02:00 ClaasStoertenbecker notifications@github.com:

http://imgur.com/a/XA1de this is what makes me wonder.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/roxlukas/lmeve/issues/32#issuecomment-222113689, or mute the thread https://github.com/notifications/unsubscribe/ACNxbjJygAlufFqlYNLlMuAuOy46ojz5ks5qFsc_gaJpZM4Inp9w .

clstb commented 8 years ago

I know how onetime tasks work but the point is that all autocannons where produced after the task was created. So it should work properly or am i wrong ?

roxlukas commented 8 years ago

Ok let's debug this. We will need output of the two queries below. You might want to send the results directly to my mail rather than share publicly.

SELECT * FROM lmtasks WHERE characterID=[characterID];

SELECT * FROM apiindustryjobs WHERE installerID=[characterID];

2016-05-27 12:56 GMT+02:00 ClaasStoertenbecker notifications@github.com:

I know how onetime tasks work but the point is that all autocannons where produced after the task was created. So it should work properly or am i wrong ?

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/roxlukas/lmeve/issues/32#issuecomment-222118673, or mute the thread https://github.com/notifications/unsubscribe/ACNxbhzpgStoWenED6GKuwf4R4t96FyJks5qFs30gaJpZM4Inp9w .

clstb commented 8 years ago

Ok i checked the two tables and found out that the jobs where created before taskcreation but im not sure how that could happen. I will observe it and tell you if i encounter this phenomenon a second time.

EDIT:

Just found out that taskcreation times are CET and jobcreation times probably evetime. That would also explain the nearly perfect 2hour difference in job/taskcreation.

roxlukas commented 8 years ago

I think I know what the issue is timezone mismatch. Tasks are in local time, whereas data from API is in UTC

On 27 maj 2016, at 13:50, ClaasStoertenbecker notifications@github.com wrote:

Ok i checked the two tables and found out that the jobs where created before taskcreation but im not sure how that could happen. I will observe it and tell you if i encounter this phenomenon a second time.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

clstb commented 8 years ago

Exactly.

clstb commented 8 years ago

Noticed another strange thing. The time that shows up above in the tool is actually UTC but it is not used for the jobcreation stuff.

roxlukas commented 8 years ago

That's because it's explicitly defined as UTC (it's supppsed to show EVE time). I will do the same everywhere else where timestamps are used.

On 27 maj 2016, at 16:09, ClaasStoertenbecker notifications@github.com wrote:

Noticed another strange thing. The time that shows up above in the tool is actually UTC but it is not used for the jobcreation stuff.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

roxlukas commented 8 years ago

Included in the upcoming patch

roxlukas commented 8 years ago

Fixed in d132dd5