►
From YouTube: 2022 06 19 Git Cache Maintenance
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
C
A
A
C
B
B
So
you
can
now
enter
the
cron
syntax,
so
like
just
enter
a
cron
syntax,
you
know
for
every
minute
so
that
we
can
test
it.
B
B
A
B
A
It
should
that
that's
that
is
allowed
cron
syntax
elsewhere.
So
I
don't
know
if
it's
allowed
cron
syntax
in
in
in
the
parser
you're
using,
but
it's
definitely
allowed
cron
syntax
here.
So,
for
instance,
let's
create
a
new
job
ron
scheduled.
A
Oh
come
on:
where
is
it
somewhere
in
here?
Is
the
hint
of
the
other
allowed
syntaxes?
Oh
now,
that's
interesting.
I'm
just
sure
that
it
was
allowing
daily
just
a
minute
here.
It
is.
It
is
in
addition
at
yearly
annually
these
okay.
So
let's
try
those
so
we're
going
to
say
it's
going
to
execute
yearly
annually,
monthly.
A
C
A
And
now
what
does
that
tell
us?
Did
it
give
us
an
okay?
I
need
to
close
the
help.
Now.
Don't
I
okay
and
it
says
yes,
this
would
have
run
so
next
run
would
be
at
sunday
june,
19th
701,
so
it
will
run
very
soon
within
within
about
an
hour.
B
Save
safety,
oh
you
have
to
save
it.
First.
A
B
No,
no,
there
are
other.
There
are
other
weekly
hourly
rates.
A
A
A
A
B
A
D
B
And
then
the
get
maintenance
jenkins
plug
in
the
xml
file.
Okay,
above
about
five
jenkins.
B
A
A
A
A
A
B
A
A
B
Yeah
yeah,
I
I
look
into
that.
That's
not
a
problem
great!
So
now.
Why
can
you
like
schedule
one
job
for
like
every
minute
kind
of
like
you
know,.
C
B
And
then
click
on
execute,
okay
execute.
So
now,
now,
after
a
minute,
you
will
see
you
know
in
the
terminal
and
the
terminal
you'll
see
a
queue
being
printed.
Okay,
good
you'll
have
to
wait
for
a
minute,
so.
B
So
exactly
x614
your
time,
it'll
get
printed
on
the
screen.
B
D
B
C
B
Quran
file
the
cron
file.
Okay,
this
file.
If
you
see
the
code
there,
the
get
recurrence
period,
this
thing
is
set
to
run
every
minute,
okay
and
every
minute,
or
what
the
function
called
schedule.
Maintenance
task
is
run:
okay,
which
which
checks
the
cron
syntax,
whether
it's
valid
or
not,
and
then,
if
it's
valid,
it's
added
to
the
maintenance
queue.
B
A
Oh
and
and
there's
not
already
something
in
jenkins,
that
will
would
do
this.
For
us,
this
was
something
you
had
to
create
on
your
own,
so
there
wasn't,
there
isn't
already
a
scheduler
facility
inside
jenkins.
That
surprises
me.
B
B
Okay
and
then
now,
if
you
go
to
the
task,
you
know
task
scheduler
class
there
you
you
here,
you
can
see
the
scheduled
task,
it
checks
all
the
configuration
whether
you
know
this.
You
know,
maintenance
task
is
valid
or
not.
If
it
is
valid,
it's
added
to
the
queue.
Okay.
Here
I
had
a
doubt.
Okay,
I
created
a
new
thread
in
jenkins.
Using
you
know
the
runnable
class.
Okay,
that's
logic.
D
A
As
I,
as
far
as
I
know,
you
can
use
the
java
thread
to
create
a
thread.
I'd
have
to
look
at
other
examples
to
be
sure,
but
I
I
don't
see
any
reason
not
to
use
a
new
thread.
Let's,
let's
do
some
checking
elsewhere.
Let's
see
what
is
what
is
something
that
oh,
the
the
global
build
discarder
as
it
would
be
my
example
I
I
assume
you
had
looked
at
it.
Was
it
using
new
thread
to
construct
the
thread.
B
A
A
A
A
B
The
reason
I
was
more
preferred
towards
periodic
work
is
because
there's
a
timer
thread
in
jenkins,
which
you
know
every
you
know
based
on
that
the
recurrence
you
know
function
it
it
runs
periodically.
So
I
was
thinking
if
I
use
a
periodic
work.
The
amount
of
work
you
know
pro
a
task
that
thread
has
to
do
is
very
less.
So
I
was
thinking
we
don't
have
to
create.
Another
thread
was
what
I
was
thinking.
A
What
a
symbol
does
is
this
allows
us
to
use
to
refer
to
a
capability
in
jenkins
by
a
shorthand
notation
in
this
case.
Build
discarders
and
build
discarders,
then
is
can
be
put
into
a
configuration
as
code
definition
file
and
used
to
define
the
settings
for
something
so
that,
when
jenkins
restarts
the
settings
or
when
a
brand
new
jenkins
is
is
created,
is
is
being
spun
up.
I
can
have
the
definition
already
that
hey
these
are
the
things
I
want.
As
my
global
configuration.
A
A
B
A
B
Ivan
I
thought
of
creating
like
if
you
go
back
to
that
code,
okay,
which
I've
written,
if
you
you
know
the
reason
why
I
I
could
have
crea,
you
know,
run
the
maintenance
task
in
this
function
itself.
But
the
reason
I
chose
not
to
do
it
and
create
a
new
thread
is
assume
if
the
maintenance
tasks,
a
task
you
know
to
execution,
takes
a
lot
of
time
like
an
hour
or
like
30
minutes
or
so
then.
A
B
A
D
A
A
C
B
B
A
I
see
so
this
here
is
the
safeguard,
says:
hey
if
something's
already
running
then
do
not
create
a
new
another
thread.
So
this
is
that's
how
you'll
defend
against
an
explosion
of
threads,
okay,
yeah
right.
A
C
B
A
It
did,
it
will
say:
okay,
it's
no
longer
alive,
but
it
at
least
reports
the
the
reality
good.
Okay.
B
So
and
the
thread
wouldn't
even
be
created
if
the,
if
there
are
no
tasks
in
the
queue,
because
it
wouldn't
make
sense
right,
so
I
added
another
safeguard
in
in
the
if,
like
the
maintenance
queue
dot
is
empty.
So
if
the
you
know
maintenance
tasks,
if
there
are
no
tasks
to
execute
it,
so
there's
no
use
of
creating
the
check.
So
that
was
also
added.
B
Good
now
yeah
so
now
inside
this
task
executor,
you
know
thread
if
other.
So
I
was
thinking
now.
You
know
we
discussed
about
getting
the
repos.
You
know
path.
Part
of
the
you
know,
get
caches
present
on
the
jenkins
controller.
C
B
For
that,
I
would,
you
know,
need
so
we
have
discussed
like
there's
a
get
scm
class
from
which
I
can
get
the
detail
part
of
the
caches,
but
that
gives
me
only
one
what
detail
a
path?
Okay,
and
to
get
that
path.
Also,
I
need
to
pass
the
url
of
the
repository,
and
how
do
I
get
the
url
of
all
the
repositories?
A
We
may
have
to.
We
may
have
to
extend
the
get
client
to
give
you
that
information
or
extend
something
to
give
you
that
information.
If
it's
get
client
or
that's
perfectly
okay
right
now,
you're
saying
that
the
the
only
access
method
that
there
is
to
the
list
of
caches
is
indexed
by
by
url.
Is
that
right,
yeah
yeah?
So
then,
I
would
think
what
we
need
to
do
is
is
add
another
method
that
lets
you
ask
for.
B
A
B
A
A
A
B
A
B
A
A
Actually,
I
don't
think
you
need
so
I
would.
I
think
what
you
want
to
do
is
all
right,
so
notice
here
that
there's
this
thing
that
looks
at
jenkins.get
router.
A
B
B
Okay,
so
that
you
know
I
get
all
the
you
know
that
you
know
caches
present
on
the
jenkins
controller.
A
Right
well
and
so
that
so
that
you're
not
you're
not
spreading
the
knowledge
of
where
are
the
caches
or
how
are
the
caches
managed
beyond
this
class
because,
for
instance,
it's
got,
it's
got
a
locking
mechanism
right
and,
and
some
of
the
operations
you're
doing
like
garbage
collection
may
need
to
take
a
lock,
and
so
so
it
may
be
that
you
you
want
absolutely
to
while
iterating,
you
may
say.
Okay,
give
me,
let's,
let's
walk
through
the
list
of
caches
and
on
each
cache.
You
want
to
get
a
lock
on
that
cash
optionally.
B
B
A
B
Basically
you're
like
you're,
saying
that
you
know
there
can
be
other
plugins
which
may
be
using
this
cache
and
when
I
am
running
a
gc
it
shouldn't
you
know
those
plugins
should
you
know
shouldn't
access
this
cache.
Is
that
what
you
see.
A
A
B
A
B
So
then,
we'll
have
to
think
about
what
would
be
needing
it.
So
I
think
a
gc
would
need
it.
I
don't
know
I'll
have
to
explore
that
part,
whether
which
which
one
made
a
cache
and
which,
which
one
needs
a
lock
on
which
one
doesn't.
D
B
B
I'll
I'll
I'll
so,
basically
I'll,
add
a
method
in
this
which
you
know
iterates
through
all
the
caches.
Okay-
and
you
know,
give
give
me
the
path
of
that
cache
and
you
know
and
add
a
lock
to
it
like,
based
on
the
condition
to
so
that
I
can
run
the
maintenance
task.
B
Yeah
that
was
yeah.
That
was
something
on
the
list
and
then
okay,
then
I
had
another
doubt
regarding
you
know
the
test.
Can
you
oh
go
to
the
task
scheduler
test.
D
A
That's
so
task
scheduler
test,
yeah,
all
right,
so
test
packages,
task
scheduler
test
here
this
one,
okay,.
B
A
Yes,
so
so
I
think
so
if,
if
you're-
okay-
let's
let's
play
with
a
little
bit
together-
is
that
all
right,
yeah,
yeah,
okay,
so
so
what
I
would
do
is
I
would
open
up
task
scheduler
here
and
and
at
least
in
my
ide,
it's
got
an
option
that
I
can
right.
Click
tools
create
update
tests
and
it
will
construct
skeletons
of
the
tests
for
me.
D
B
A
This
test,
these
are
the
same
tests,
yeah,
okay
right,
because
this
one,
you
were
just
doing
a
a
a
trivial.
Some
do
something.
So
I
can
assert
something:
yeah,
okay!
So
now
the
question
is:
how
do
we,
how
what
do
we?
What
are
the
externally
visible
things
that
schedule
tasks
can
do
that
we
could
assert.
B
Because
the
maintenance
starts
present
and
that
class
would
be
private,
okay,
so
right,
yeah
and
then
any
other
fields
also,
I
think
mostly,
would
be
private
so
and
I
wouldn't
want
a
you
know,
method.
You
know
which
returns
the
maintenance
task.
A
B
A
Is
this
one
that
you've
seen
that
you'll
need
to
use
elsewhere?
Oh
you're,
already
using
it
here
right?
So
yes,
so
so
testing
testing.
That
would
probably
be
a
good
thing,
and
so
at
least
the
technique.
I've
used
elsewhere
in
the
git
plug-in
is
say
something
like
this
package
protected
for
test
for
use
by
tests,
and
then
I
take
the
private
off
of
it.
A
A
So
it
says,
oh
check
is
task
in
queue
and
I'm
pretty
sure
that
whatever
ide
you're
using
likely
has
this
same
facility,
you
may
want
to
look
for
it
because
having
somebody
else
generate
your
test,
prototypes,
at
least
for
me-
is
a
real
help.
It
reminds
me,
oh,
I
should
have
a
test
for
that
method
and
that
method,
yeah.
B
Oh,
but
are
you
okay
but
then
first
I
need
to
create
or
maintain,
like
you
know,
have
to
add
it
to
the
maintenance
subscribe.
A
Yeah
a
good
point,
so
all
right:
let's,
let's
do
the
let's
do
the
let's
do
something
different.
Let's
do
it
like
this
right
with
that.
B
So
the
whole
point
of
asking
this
question
is:
do
I
have
to
test
every
method
I
can
or
like?
Because
some
of
some
things
are
like
I
don't
know:
how
do
you
test
them?
Let's
get
scare,
you
know
the
logic
to
test
them.
A
A
A
Just
write
the
test
then,
but
if,
if
you
find
oh
well,
I'm
having
difficulty,
for
instance
oftentimes,
I
may
find
it
difficult
to
get
to
something
like
that,
and
when
I
find
that
I
I
will
typically
then
say:
oh
what
do
I
need
to
do
to
make
that
so
I
can
reach
it
with
a
test
and
it
package
protected
is
one
of
those
techniques
right.
This
technique
is,
why
did
I
make
it
package
protected
only
so
that
I
could
test
it?
A
A
B
A
A
B
Said
this
is
the
j
unit
version
three
right.
A
Okay,
now
it's
not
junit,
five
and
and
the
reason
it's
not
j
unit.
Five.
Is
this
syntax
right
here?
This
jenkins
rule
thing
is
not
available
in
junit
5:
they
they
considered
rules
to
be
a
something
they
eventually
removed
from
j.
They
they
removed
when
they
made
the
transition
to
junit,
4
or
junit
5..
But
jenkins
rule
is
crucial
here
because.
A
B
A
But
this
one
this
one
I
had.
I
think
this
may
have
been
the
one
that
I
had
to
add
june
jenkins
rule
to
it
in
order
to
get
it
to
pass.
If
you're,
okay,
let's
go,
look
and
see
nope,
it
still
didn't
pass
all
right.
So
here's
I
had.
I
had
pushed
to
your
branch,
a
change,
let's
see,
if,
let's
see,
if
my
change
arrived,
use,
jenkins,
rule
and
task
schedule
test,
okay,
it
did
arrive,
but
all
the
tests
did
not
pass
you.
Okay.
If
we
spend
just
a
minute
finding
out
why.
B
A
A
D
A
A
A
B
Okay,
wait
before
that.
I
have
a
few
things
if
you
finish
off
with
that,
then
yeah!
Oh,
so
there's
this
thing
about
form:
validation,
okay,
so
like,
as
you
have
seen,
I
once
you
submit
a
wrong
wrong
or
you
know
cron
syntax
kind
of
a
thing
it
does
it
doesn't
let
you
submit
the
form
it
throws
an
error
on
the
terminal
right.
B
So
I
wanted
to
show
a
notifications
and
all
those
things
you
know,
but
if
I'm
not
able
to
use
that
design
libraries
notifications
in
this,
because
once
I
submit
the
form,
I
get
a
response
from
the
client
and
this
page
would
be
loaded
again
right.
So
how
do
I
add
a
notification
to
show
key
to
show
on
the
screen
that
there's
an
error
or
something
like
that.
A
B
A
B
A
B
A
B
But
but
then
will
then
like:
how
will
the
administrator
know
like
there's
an
error
like
hey?
Would
you
just
look
at
it
or
would
they
look
at
it.
A
A
A
A
B
Okay,
because
why
I
am
trying
to
do
this,
is
because
assume,
if
I
don't,
if
I
save
this
internally,
you
know
a
wrong
cross
attack
there'll,
be
so
many
errors
being
thrown
in
different
places.
Whenever
I
try
to
use
electrons
and
tax,
and
whenever
I'm
trying
to
execute
it,
there
would
be
errors
which
will
you
know
so
many
errors,
which
would
so
you
know
which
will
be
thrown.
So
I
was.
B
A
D
A
B
So
basically,
I'm
checking
the
crown
syntax
at
two
places,
one
when
he's
when
they
are
entering
the
data
into
the
input
field
and
one
where,
when
they
are
submitting
the
data
you
know
when
they're
submitting
to
store
it
internally.
Those
are
the
two
places
I
am
checking.
So
if
you
know
so,
basically,
when
you're
saying
as
configuration
like
in
configuration
as
code
and
can
they
enter,
you
know
electrons
and
taxes,
can
they
send
it
to
us
like?
Can
they
enter
it.
A
Yeah
so
well,
so,
let's
I
think
I
think
I
can
show
you
an
example
of
a
configuration
as
code
defined
just
a
minute.
Let's,
let's
see
if
I've
got
one
I
think
I
do
so
here
is.
Is
that
that
is
that
text
readable
for
you
yeah
yeah,
yeah?
Okay.
So
if
we
look
at,
I
suspect
that
let's
see
get
branch-
okay
good,
so
we've
got
ref
config.
So
this
is.
A
There
we
go:
that's
good,
nope
nope
that
didn't
help;
okay,
oh
so
there
aren't
any
here.
Okay,
let's
see
where
would
I
find
a
cron.
A
A
A
A
A
A
B
Nobody's
us
so
about
the
architecture
of
the
form
submission.
So
would
you
like?
How
would
I
proceed
with?
That
is
what
I
wanted
to
know
so
yeah.
Do
we
want
error,
being
displayed
like
a
notification,
or
is
this
fine.
B
Okay,
but
I
I
think
that
would
cause
a
lot.
So
basically,
what
exactly
is
happening
right
now,
if
you
enter
a
wrong
invalid,
cron,
syntax
and
click
save
right,
it's
just
gonna,
throw
the
you
know
error
in
the
terminal,
but
it
isn't
storing
internally.
So
if
you
go
to
that
work
file,
no
there's
nothing
present
there.
So
all
this
new
data
hasn't
been
saved,
so
that
would
you
know,
prevent
us
from
having
any
problems
anywhere.
You
know
somewhere
else.
Whenever
I'm
reading
the
crown
syntax.
A
Yeah
so
oh
well,
okay,
let's
see
so
so
I
think
there
must
be.
There
must
be
a
way
to
do
what
you're
suggesting.
So,
let's
maybe
we
can
find
another
example
that
will
let
us,
because
what
what
I
think,
what
you're
saying
is
it
will
be
much
better
for
the
user.
If
we
for
certain
classes
of
mistakes,
we
tell
them
you're,
not
I.
I
did
not
even
save
what
you
what
you
asked
for,
because
it
is
so
broken
that
I
didn't
save
it.
B
To
implement
it,
because
if
we
store
an
invalid,
you
know
crown
syntax,
then
whenever
we
read
it
to
execute
it,
we
have
to
keep
checking
whether
that's
in
taxes
correct
or
not,
whereas
before
only
when
he's
when
they
submit
the
form,
if
you
check
it,
you
know
it'll
be
a
very
good
safeguard
is
what
I
was
thinking.
A
A
D
C
B
A
It's
still
malformed,
if
I
save
it,
it
allowed
me
to
save
it
and
what
did
it
do
with
it?
It
it
retained
it
so
so
it
so.
The
the
general
pattern
seems
to
be
use.
Take
whatever
the
user
gives
us
show
them
a
warning
in
this
red
text,
but
don't
reject
don't
discard
their
their
input,
even
if
it's,
even
if
it's
wrong.
A
All
right
do
you
so,
since
the
two
of
us
are
still
here,
do
you
have
other
questions?
I
guess
one
question
from
me
to
you:
are
you?
Okay,
if
I,
as
a
matter
of
personal
pride,
go
find
out?
Why
how
I
broke
more
tests,
okay
and
attempt
to
attempt
to
make
changes?
Are
you
okay?
If
I
push
changes
to
your
code
to.
B
Fix
this
yeah,
I
have
still
two
two
more
questions.
Okay,
I
know
it's
go
ahead,
it's
late
yeah,
but
it's
fine,
so
two
more
questions.
One
thing
is
I
added
permissions
to
that
jelly
file?
Okay,
so
you
know
for
so
that
administrators
only
can
use
it,
but
I
don't
know
whether
it's
working
or
not.
Okay,
I
think
administrator
is
by
default
true
or
something
whenever
I'm
developing
the
plugin.
B
So
I'm
not
sure
whether
you
know
is
it
only
for
administrators
or
are
everyone
able
to
use
it
or
not?.
A
B
A
A
A
A
A
A
Just
a
minute
now
I've
got
to
find
the
url
to
manage
jenkins
so
that
I
can
so
that
I
can
check
that
it
okay.
So
this
is
the
url
that
I
need.
Okay,
remember
that
url,
okay,
going
to
log
out
now,
I'm
going
to
enter
that
url
and
hit
says.
So
I
don't
know
if
it's
yours,
your
security
checks
or
someone
else's,
but
security
checks
have
blocked
me
from
doing
that.
A
A
B
A
And
and
I'll
try
to
post
the
the
recording
of
this
really
quickly
so
that
you
can
look
at
the
recording,
then
in
security
realm
it
defaulted
to
none.
I
said:
use
jenkins
own
user
database
and
I
intentionally
allow
users
to
sign
up
because
initially,
there's
no
user
defined
and
with
no
user
defined,
I
would
be
locked
out
and
have
nothing
I
could
do
so.
I
allowed
users
to
sign
up
now.
I
can
having
done
that
then
I
I
also
changed
instead
of
authorization,
anyone
can
do
anything.
Make
logged
in
users
can
do
anything
now.
B
Last
question
was
regarding
the
size
of
the
pull
request.
Whatever
is
that.
A
Oh
yes,
oh
yes,
absolutely,
particularly
in
this
in
this
mode
that
we're
in
right
now
right
the
mode
we're
in
right
now
is
you
need
to
be
able
to
rapidly
explore
and
experiment
with
things,
and
you
need
to
commit
something
and
realize.
Oh,
that
failed
commit
something
else,
so
that
failed
and
it
doesn't
matter
you
just
keep
doing
that
and
eventually
we'll
probably
get
to
the
point
where
we
say:
hey
you've
reached
a
point
where
this
looks
quite
good.
A
Much-
and
I
think
I
think
you've
got
it
correctly
noted
already
as
a
draft
pull
request.
Don't
you
yeah
yeah,
it's
a
draft
printed
question.
So
so
that's
already
telling
me
and
other
maintainers
don't
merge
this
oh
yeah,
okay.
So
so
you're
you're,
just
fine
the
the
technique
you're
using
works
very
well.
For
me
I
was.
I
was
really
grateful
that
you
had
done
it
that
way
because
it
allowed
me
to
see.
D
B
Yeah,
okay,
that
that
that
that's
fine,
then
I'll
I'll
go
I'll
proceed
with
that.
You
know
method
only
and
again,
once
again,
like
the
plan
like
or
this
still
wednesday,
the
next
meet
what
I
would
be
working
on
this
I'll
create
a
you
know
a
way
to
iterate
through
all
the
caches
present.
On
the
jenkins
controller,
I
would
schedule
the
image:
already
scheduling
is
done,
I'll,
try
working
on
executing
the
maintenance
tasks.
B
A
C
A
B
Yeah
one
more
small
thing:
the
button
can
I
put
the
terminate
button
beside
the
save
button.
I
don't
know.
I
feel
that
that
ui
looks
better,
but
I'm
not
able
to
do
anything
with
that.
A
In
general,
I
don't
think
so.
Well,
let's
see.
Actually,
let's,
let's
ask
that's
a
very
fair
question.
I
think
there
is
let's
let's
look
at
the
ui
samples
that
are
available
because
in
the
design
library
I
thought
that
there
were
some
buttons
that
we
could
see.
So
here's
the
buttons
thing
all
right.
So
this!
A
A
Yeah
so
one
says,
save
and
the
other
says,
terminate
or
cancel
now
now,
let's,
let's
see
if
how
that
that
might
there,
I
think
there
are
things
like
that
already
in
jenkins
that
are
consistent.
That
way,
yes,
like
to
save
and
apply
here
right,
so
so
this
kind
of
thing
is
is
certainly
a
valid
a
valid
technique,
although
I
think
this
concept
of
the
app
bar
may
be
better
suited
for
what
you're
you're
wanting
to
do.
A
Right
which
which
for
me
is
actually
better
right
because
because
the
the
the
user
does
some
data
and
then
they
hit
the
bar
at
the
top
now,
let's
see
if
we
got
other
examples
in
the
maintenance
tasks,
like
configuration
configurations
code
has
a
rather
old
ui,
so
this
one
definitely
has
two
buttons
side
by
side.
So
we
could.
A
A
So
so
I
think
and
manage
plug-ins
is
a
whole
different
user
user
definition
ui.
So
how
about
and
this
one
just
has
save
and
apply
well,
should
we
ask
a
different
question:
should
this
be
save
and
apply,
what
does
terminate
mean.