2009-08-25 23 views
6

Tôi có công việc hẹn giờ đã được triển khai tới máy chủ có nhiều giao diện người dùng web.Công việc hẹn giờ SharePoint không được gọi

  • Công việc hẹn giờ này đọc cấu hình từ Cửa hàng đối tượng phân cấp.
  • Công việc hẹn giờ này được lập biểu để chạy hàng ngày trên máy chủ.

Nhưng vấn đề là công việc hẹn giờ này không được gọi hàng ngày. Tôi đã thực hiện ghi nhật ký sự kiện trong phương thức Execute() của công việc hẹn giờ, nhưng tôi không thấy bất kỳ nhật ký nào được tạo ra.

  • Bất kỳ ý tưởng nào về điều gì có thể khiến công việc hẹn giờ không được thực hiện bởi Dịch vụ hẹn giờ SharePoint? Làm cách nào để khắc phục sự cố này?

  • Có bất kỳ "công cụ" nào để chạy công việc hẹn giờ trong máy chủ từ nhiều giao diện người dùng không? Công việc hẹn giờ có được thực hiện trong tất cả các giao diện người dùng web hay bất kỳ công cụ nào trong số đó có tính chất quân sự không? Làm cách nào để biết máy nào sẽ có nhật ký sự kiện của tôi?

  • Đây có thể là một câu hỏi ngu ngốc, nhưng có nhiều giao diện người dùng để cân bằng tải ảnh hưởng đến cách hoạt động của Cửa hàng đối tượng phân cấp?

EDIT:

Một trong những bình luận, Sean McDounough, (Cảm ơn Sean !!) thực hiện một điểm rất tốt mà:

"hay không công việc hẹn giờ chạy trên tất cả các WFE sẽ là một hàm của giá trị enum của SPJobLockType mà bạn đã chỉ định trong hàm tạo. Sử dụng một giá trị "Không" có nghĩa là công việc sẽ chạy trên tất cả các WFE. "

Bây giờ, công việc hẹn giờ của tôi chịu trách nhiệm gửi thư định kỳ đến danh sách người dùng. Hiện nay nó được đánh dấu là SPJobLockType.Job"

  • Nếu tôi thay đổi này để SPJobLockType.None, điều này có nghĩa là công việc hẹn giờ của tôi sẽ được thực hiện trong tất cả các WFEs riêng? (Đây không phải là mong muốn, nó sẽ thư rác tất cả những người sử dụng với nhiều email)

  • Hoặc không có nghĩa là công việc hẹn giờ sẽ thực hiện trong bất kỳ một trong những WFEs, arbitarily?

Trả lời

9

Thử khởi động lại SharePoint dịch vụ hẹn giờ từ dòng lệnh sử dụng NET STOP SPTIMERV3 theo sau là NET START SPTIMERV 3. Tôi đoán là dịch vụ hẹn giờ đang chạy với phiên bản cũ hơn của hội đồng .NET của bạn. Dịch vụ hẹn giờ không tự động tải lại các assembly khi bạn nâng cấp giải pháp WSP.

+4

Điểm tuyệt vời của Lars và một trong số đó thường thu hút các nhà phát triển (cả mới và dày dạn) làm việc với dịch vụ hẹn giờ. Một điểm lưu ý bổ sung cho bạn, ashwnacharya: cho dù công việc hẹn giờ có chạy trên tất cả các WFE hay không sẽ là một hàm của giá trị enum SPJobLockType mà bạn đã chỉ định trong hàm tạo. Sử dụng giá trị "Không" có nghĩa là công việc sẽ chạy trên tất cả các WFE. Tuy nhiên, một giá trị của "Job" có nghĩa là nó sẽ chỉ chạy trên một máy chủ - một máy chủ mà bạn đã gửi công việc (trừ khi bạn chỉ ra một SPServer cụ thể trong constructor của bạn). –

+0

Tôi assune bạn có TimerJopb chạy trên máy dev của bạn? Nếu không, hãy xem câu hỏi của tôi tại http://stackoverflow.com/questions/985581/debugging-sharepoint-timer-jobs, để xem có bất cứ điều gì không ổn ... – Colin

+1

Bạn đã lưu lại cuộc sống của tôi. – ragebiswas

2

Để làm điều này, hãy làm theo các bước sau:

  • Dừng dịch vụ hẹn giờ.
  • Nhấp vào Bắt đầu, trỏ tới Công cụ quản trị, sau đó bấm Dịch vụ.
  • Bấm chuột phải vào Windows SharePoint Services Timer, sau đó bấm Dừng hoặc Khởi động lại dịch vụ.

URL này đã giúp tôi.

Các vấn đề liên quan