Commit Graph

4 Commits

Author SHA1 Message Date
David Anderson 5867396956 scheduler: fix bug in daily (host, app version) job limit.
I was doing the check on each call to get_app_version().
But it turns out this gets called during the job scan,
before calling add_result_to_reply(),
which is where n_jobs_today gets incremented.

Solution:move the check to the loop (in sched_score.cpp)
where add_result_reply() is called.

Also: fix bad logic in work_needed() where a global check
(on job limit in user project prefs)
was being done inside a loop over resources.
2019-04-09 22:58:18 -07:00
David Anderson d15d0b95de client: parse keyword file and export keywords in get_state() GUI RPC
- This adds overhead to the get_state() call,
  but this happens only once per minute with the Manager.
- rename things so that "keyword_ids" refers to lists of keyword IDs
  and "keywords" refers to full KEYWORD objects
- have boinccmd include keywords in workunit properties
2017-07-30 13:12:16 -07:00
David Anderson 20d07be2b8 back end: add keyword-based component to job scheduling score.
- add DB field for storing job keywords: workunit.keywords
    add this to various DB parse/write functions
- add --keywords option to create_work for specifying job keywords
- add <keyword_sched> option in config.xml for enabling keyword score
    (it's disabled by default).
    If set, increment score for "yes" keyword matches,
    and disallow jobs with "no" matches
- in scheduler, add array job_keywords_array for parsed versions
    of job keywords (vector<int>)

also:
- use symbols instead of numbers for slow_check() return values
- parse unused fields in req message to remove unparsed-XML warnings
2017-07-22 00:48:38 -07:00
David Anderson ecbc1eb991 Add new files for keyword scheduling 2017-07-22 00:10:37 -07:00