Tag Info

New answers tagged

0

This is how I did it: SPWebApplication webApp = SPWebApplication.Lookup(new Uri(webAppUrl)); var customJob = (from job in webApp.JobDefinitions where job.Name == "MyTimerJobName" select job).Single(); // for some reason wont't work if I try to get the job using [name] string jobUrl = ...


3

For every web application you can do the following: Get your timer job definition (SPJobDefinition) from SPWebApplication.JobDefinitions Get the guid: string jobDefID = SPJobDefinition.Id.ToString(); Add the guid in the query string http://srvr/_admin/JobEdit.aspx?JobId=jobDefID


0

In addition to the above, timer jobs are much easier to test, as you can just run them in visual studio. Another advantage is that if the timerjob has any configuration data it can be installed in a simple app,config


5

Here are few more differences between Timer Job and Windows Task schedulers: Timer Jobs Timer jobs require downtime to deploy. Control via Central Admin. Schedule of Timer Job will be backed up and restore in your normal process of SharePoint backup and restore. Can be deployed using standard WSP solution. Custom Timer Jobs provides the power to specify ...


2

Benefits of Sharepoint Timer jobs over Windows Task Scheduler are : Single point of failure : Windows Task Scheduler need to be configured on all the web servers. If you configure to run the job on 1 server only, and this server crashes, job will not work at all. Status Reporting : Windows Task Scheduler doesn't have any reporting on when was the last time ...


0

Traverse all of your farm's site collections calling Get-SPUserSolution just to be 100% sure you don't have any hidden away sandbox solutions. As for the web templates, dig deep around the functionality included in those templates. Think about how many you have and what those templates include. Last, you should look at your resource points allocation for ...


3

I like Arsalan's answer, however MS is pushing people to avoid server side development, which includes Timer Jobs. As timer jobs run on the SharePoint server, a poorly written timer job can have a negative impact on the farm. Also, if a customer ever moves to Office 365, any custom timer jobs will have to be re-written. An app run by the windows task ...


3

Our operations team says when you have a task that is really related to SharePoint, maybe list items iteration, logging etc etc. you should use Timer Job.. But if you have tasks not related to SharePoint at all or directly.. Than use Task Scheduler.. Example, we had an External Content Type made from SQL Server Database and the user wanted to iterate ...


0

You could try to do it client side. Use JQuery in a CEWP to check the date. If the date = the first of the month, update a field in the list to track it and have your workflow check for the flag when an item is modified. This will keep you from having to worry about pause timer services which can get messy if there are a bunch of them. Should not be too ...


0

I'm not sure this question is still actual for you, but it could be helpful for others. I recently wrote the blog post: How to send bulk e-mail with attachments to external users using SharePoint 2013/Online workflow I think it is just what you were looking for to send e-mails, but regarding scheduling, I use there list level workflow. You can implement ...


0

You can use SharePoint Workflow Scheduler developed by my team. It supports quite complex schedules. You can create site level workflow and schedule it to start periodically. See documentation: How to schedule SharePoint workflow How to create advanced schedule using cron syntax Note: It is paid, but quite cheap tool.


2

Webparts are stored in content database, User Controls are stored in Layouts. Timer jobs configuration is stored in farm configuration database but run under SharePoint timer service account. I believe custom timer jobs dll are stored in Gac.


2

here is a script which will give you some # Get current date $date = Get-Date # Show current date Write-Host "Looking for running jobs with a Last Run Time of greater than or equal to" $date # Get all Timer jobs and iterate Get-SPTimerJob | ForEach-Object { # Get last run time for job $lastRunTime = $_.LastRunTime # If run time is greater ...


0

I found a way to fix it. These queries are part of 4 Caml queries. I execute them one by one. My mistake was that I used the same SPQuery object. I just changed the Query property. What I didn't know was that after the first execution the SPQuery object stores some configuration data for faster querying.You can not just change the Query property and expect ...


0

I finally figured it out! For some reason I was unable to use xmlDoc.Load(string URL) but I was able to workaround it using xmlDoc.Load(Stream stream) Here's what worked for me: SPList styleLib = site.RootWeb.Lists.TryGetList("Style Library"); SPFolder templatesFolder = styleLib.RootFolder.SubFolders["xml"]; SPQuery query = new SPQuery { Query = ...



Top 50 recent answers are included