Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
Blake Niemyjski
@niemyjski
would cover like 95%
or higher
Eric J. Smith
@ejsmith
ok
do the big ones
Blake Niemyjski
@niemyjski
off the top of your heard
head
do you know if we are releasing locks if an error occurs inside of a job?
Eric J. Smith
@ejsmith
hope so
not sure
Blake Niemyjski
@niemyjski
looks like it should be
via using block
but I wonder
I triggered this job and hit an exception
and then my work item job isn’t being rehit
it has a default delay
I am seeing an issue where the queue job appears to stop working.
gotta try and figure that out.
Blake Niemyjski
@niemyjski
hmm
whose going to be pull request #200?
@ejsmith exceptionless/Exceptionless#199
this fixes a few issues of which bill ran into and should also help with deduping
well.. noise..
Blake Niemyjski
@niemyjski
if you like it merge it :)
@ejsmith are you going to be on tonight?
We can review my stats stuff
and other pull request stuff :)
Eric J. Smith
@ejsmith
@niemyjski why are you throttling the work item to once every 15 minutes?
Blake Niemyjski
@niemyjski
Missed that
Maybe I should look into finishing the one time job stuff
Get key needs the context
Eric J. Smith
@ejsmith
don’t know what you mean
Blake Niemyjski
@niemyjski
There's a one time job
Eric J. Smith
@ejsmith
yes, that probably needs a good amount of work still.
Blake Niemyjski
@niemyjski
should be super simple
Eric J. Smith
@ejsmith
it needs to persist that info some place.
Blake Niemyjski
@niemyjski
I just looked at the code and converted two of the jobs to the new thing in 30 seconds
cachelockprovider
Eric J. Smith
@ejsmith
can do it in cache, but that doesn’t live forever… but maybe it lives love enough.
Blake Niemyjski
@niemyjski
already have access to work item data
and you pass that to GetKey()
cache lives as long as required?
Eric J. Smith
@ejsmith
probably
it should live for a really long time, but it’s not guaranteed.
Blake Niemyjski
@niemyjski
    public override Task<ILock> GetWorkItemLockAsync(object workItem, CancellationToken cancellationToken = new CancellationToken()) {
        var cacheKey = $"{nameof(RemoveOrganizationWorkItemHandler)}:{((RemoveOrganizationWorkItem)workItem).OrganizationId}";
        return _lockProvider.AcquireAsync(cacheKey, TimeSpan.FromMinutes(15), new CancellationToken(true));
    }
Eric J. Smith
@ejsmith
I’m not sure how the 1 time work item handler would be different than just adding the getworkitemlock
guess it could just be a shortcut that just calls GetKey for you in the GetWorkItemLock
Blake Niemyjski
@niemyjski
yeah
could make these a lot more easier to use if we put a generic on workitemhandler<WorkItemHandlerBase>